【发布时间】:2020-04-24 15:19:15
【问题描述】:
我阅读了许多相同性质的问题,但没有找到特定于我需要的问题。
我在 Snow Leopard (10.6.8) 和 Qt 5.3.2 上编译一个项目。
在我的程序的main 方法中,我检查它是否在mac 上并打开一个基于可可的窗口,否则创建标准的QApplication 和MainWindow 配置。我有一个包含窗口代码的.mmobjective-c 类,当包含其相应的头文件时,它给了我这个错误:
Undefined symbols for architecture x86_64:
"QMacApplication::QMacApplication()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我正在使用来自 QT 官方 github 存储库的修改代码 qtmacextras,将可可窗口代码放入它自己的库中,我可以将其导入并在其他应用程序中使用。请参阅https://code.qt.io/cgit/qt/qtmacextras.git/tree/examples/macextras/macfunctions?h=5.14,尽管我使用的是 5.3.2 兼容的提交。
为什么会出现这个错误?
【问题讨论】:
标签: c++ objective-c macos qt osx-snow-leopard