2012-08-09 27 views
5

En son (git) libqxt sürümüne sahibim. Ben ./configure çalıştırmak ve bu sadece iyi çalışır, o zaman yapmak bu hata ile başarısız:derleme libqxt

linking ../../lib/QxtWidgets.framework/QxtWidgets 
ld: warning: directory not found for option '-L/usr/local/pgsql/lib' 
ld: warning: directory not found for option '-L/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib' 
ld: warning: directory not found for option '-F/tmp/qt-stuff-85167/source/qt-everywhere-opensource-src-4.8.1/Desktop/Qt/4.8.1/gcc/lib' 
Undefined symbols for architecture x86_64: 
    "_CGSGetWindowProperty", referenced from: 
     QxtWindowSystem::windowTitle(long) in qxtwindowsystem_mac.o 
ld: symbol(s) not found for architecture x86_64 
collect2: ld returned 1 exit status 
make[1]: *** [../../lib/QxtWidgets.framework/QxtWidgets] Error 1 
make: *** [sub-src-widgets-install_subtargets] Error 2 

Bu konularda, ben OSX Mountain Lion kullanıyorum.

Teşekkürler!

cevap

4

Qxt, Mountain Lion'da kaldırılan bazı özel Mac OS X API'sini kullanıyor gibi görünüyor. CGSGetWindowProperty, Mac OS X'in önceki sürümlerinde belgelenmemişti, bu yüzden onu zaten kullanmak güvenilir değildi.

+1

Evet, ben de öyle düşünüyordum ... Bunun üstesinden gelmenin, hatta başlığın/lib'in başka bir yerde bulunmasının bir yolu olduğunu mu düşünüyorsun? Öyleyse nerede? – sfw

4

Bir hacky düzeltmesi olarak CGSGetWindowProperty özellik çağrısını kaldırabilirsiniz - Qxt derlenecek, ancak elbette QxtWindowSystem::windowTitle düzgün çalışmayacaktır. Eğer this issue in libqxt repository izleyebilir İleride

diff --git a/src/widgets/mac/qxtwindowsystem_mac.cpp b/src/widgets/mac/qxtwindowsystem_mac.cpp 
index 63cab38..de4a89c 100644 
--- a/src/widgets/mac/qxtwindowsystem_mac.cpp 
+++ b/src/widgets/mac/qxtwindowsystem_mac.cpp 
@@ -89,11 +89,7 @@ QString QxtWindowSystem::windowTitle(WId window) 
    // most of CoreGraphics private definitions ask for CGSValue as key but since 
    // converting strings to/from CGSValue was dropped in 10.5, I use CFString, which 
    // apparently also works. 
- err = CGSGetWindowProperty(connection, window, (CGSValue)CFSTR("kCGSWindowTitle"), &windowTitle); 
- if (err != noErr) return QString(); 
- 
- // this is UTF8 encoded 
- return QCFString::toQString((CFStringRef)windowTitle); 
+ return QString(); 
} 

QRect QxtWindowSystem::windowGeometry(WId window) 

.

+0

Merhaba, mümkünse, şu soruya cevap verebilirsiniz: http://stackoverflow.com/questions/28708747/error-trying-to-install-qxt-for-sending-email? Söylediğin düzeltmeyi yaptım, 'make install 'adımı sırasında hatayı aldım .. – SexyBeast