【发布时间】:2014-06-24 09:16:54
【问题描述】:
在 Windows (MinGW) 上使用 Qt Creator 链接库时遇到一些问题。我有 2 个项目,一个静态库和一个使用它的应用程序。该库使用 jpeglib 并且编译得很好。但是,当我尝试编译应用程序时,它会在库项目中显示未定义的引用。我查看了 libjpeg 符号,它们的名称与使用的完全相同,因此问题一定出在链接器上(我尝试使用 Visual Studio 和 mingw 使用 msys 编译 libjpeg,都不适用于我的项目)。
在我使用的库 pro 文件中:LIBS += -L$$PWD/../../lib/libjpeg/ -ljpeg
在我使用的 app pro 文件中:LIBS += -L$$PWD/../../lib/libjpeg/ -ljpegLIBS += -L$$PWD/../../bin/StegoDiskCore/ -lStegoDiskCore
我尝试在为 jpgelib 安装 LIBS 的应用程序项目中使用 PRE_TARGETDEPS,但它表示多个目标模式(我不知道 PRE_TARGETDEPS 在这种情况下是否可行,我只是在尝试我能想到的任何东西,在最后,它可能只是一些愚蠢的东西)。如果有人可以提供帮助,我已经坚持了很长一段时间,只是不知道还有什么可以尝试的,谢谢。
【问题讨论】:
-
向我们展示完整的错误信息。
-
感谢您的回复。我们想通了,问题在于 libjpeg 是一个 C 库,而项目是 C++。出于某种原因,libjpeg 配置错误(可能是我的错误),并且在其主标头中,未使用“extern C”就包含了这些函数。我只是更改了标题(不是最好的解决方案,但它是即时的,我需要继续前进)。我要把我的帖子标记为已回答:)
标签: windows qt linker undefined-reference libjpeg