2013-07-29 73 views
1
  1. 我使用Qt来构建UI应用程序,(C++与Objective C的混合)
  2. 应该链接到一个静态库(某文件)
  3. 该库编写的Qt应用程序由C++和Objective C(* .mm)文件组成。
  4. 我设置了Qt项目文件并链接了静态库,但Qt Creator总是出现链接错误,并且错误与位于静态库中的* .mm上的函数实现有关。

问:
Qt的应用程序如何链接库? 这是纯粹的C++应用程序(Qt应用程序)链接到C++和ObjectiveC混合(.a文件)的静态库。Qt的链接库错误


更新:链接错误

Undefined symbols for architecture x86_64: 
    "_OBJC_CLASS_$_QTCaptureDevice", referenced from: 
    objc-class-ref in libmyapi.a(myTestFunction_mac.o) 
    "_QTMediaTypeVideo", referenced from: 
     myTestFunction() in myapi.a(myTestFunction_mac.o) 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make: *** [myApp.app/Contents/MacOS/myApp] Error 1 
14:38:06: The process "/usr/bin/make" exited with code 2. 
Error while building/deploying project myApp (kit: Desktop Qt 5.1.0 clang 64bit) 
  1. Qt5.1铿锵,支持C++ 11
  2. 静态库myapi.a,通过Xcode4.6建没有错误。只有一个文件是myTestFunction_mac,使用QTKit框架。
  3. myApp链接myapi.a,但myTestFunction_mac.mm植入文件有链接错误。
+0

什么是确切的错误? – BergQuester

+0

@BergQuester,已更新。 – CCC

回答

0

您需要QTKit框架添加到您的应用程序的目标。

Xcode 4
单击左侧浏览器窗格中的项目。
点击目标下的目标。
单击摘要选项卡。
展开链接的框架和库(如果未展开)。
点击+图标并在搜索框中输入QTKit并添加QTkit。

Xcode 3
右键单击项目。
选择Add - > Existing Frameworks。
添加QTkit。

+0

在我的api库中,我通过xcode编译没有错误,并添加了QTkit。这个错误是由Qt Creator给出的。 – CCC

+0

这是对的,我需要通过QtCreator将QTKit框架链接到我的Qt应用程序。 – CCC