2012-08-09 136 views
5

我有libqxt的最新(git)版本。我跑./configure和工作得很好,然後讓失敗,此錯誤:在mac osx中編譯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 

如果它的事項,我使用OSX山獅。

謝謝!

回答

4

似乎Qxt正在使用一些在Mountain Lion中刪除的私有Mac OS X API。 CGSGetWindowProperty在以前的Mac OS X版本中沒有記錄,所以我認爲無論如何使用它都是不可靠的。

+1

是的,這就是我的想法......你認爲有辦法解決這個問題,甚至找到頭/ lib的地方嗎?如果是這樣,在哪裏? – sfw 2012-08-10 15:22:47

4

作爲一個hacky修復程序,您可以刪除CGSGetWindowProperty屬性調用--Qxt將編譯,但當然QxtWindowSystem::windowTitle將無法​​正常工作。

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) 

爲了將來的參考,你可以監測this issue in libqxt repository

+0

嗨,如果可能的話,你能回答這個問題:http://stackoverflow.com/questions/28708747/error-trying-to-install-qxt-for-sending-email?我做了你說的修復,我在'make install'步驟中遇到了錯誤.. – SexyBeast 2015-02-26 17:44:13