3

在 QtCreator 中将 libmusicxml 库添加到我的项目后(使用 VC 2012 编译器),项目将使用发布配置而不是使用调试配置进行编译。在链接阶段,会出现许多与未解决的外部符号有关的构建问题。

通读其他帖子后,我意识到我必须分别链接到两个配置的库。我尝试将以下变体添加到我的 .pro 文件中,但没有成功。

  • 1

    LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32/ -llibmusicxml2

    INCLUDEPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

    DEPENDPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include`

  • 2

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32/ -llibmusicxml2

    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32/ -llibmusicxml2d

    INCLUDEPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

    DEPENDPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

  • 3、省略第3行的d后缀

    win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32/ -llibmusicxml2

    else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32/ -llibmusicxml2

    INCLUDEPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

    DEPENDPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

错误消息看起来像

main.obj:-1: Fehler:LNK2019: 引用了未解析的外部符号“__declspec(dllimport) public: virtual _ thiscall MusicXML2::xmlreader::~xmlreader(void)”( _imp_??1xmlreader@MusicXML2@@UAE@XZ)在函数 _main

我希望有人可以帮助我,在此先感谢!

4

1 回答 1

2

在我们的项目中,我们这样做:

LIBS += -L$$PWD/../Libraries/libmusicxml-3.00-win32
win32 {
    CONFIG(debug, debug|release) {
        LIBS += -llibmusicxml2d
    } else {
        LIBS += -llibmusicxml2
    }
}
INCLUDEPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include

DEPENDPATH += $$PWD/../Libraries/libmusicxml-3.00-win32/include
于 2013-07-16T06:45:40.490 回答