Qt VS加载项 - 链接外部库

时间:2013-12-28 17:04:48

标签: visual-studio qt visual-studio-2012 linker qt-creator

我想在项目中将visual c ++ Qt-add包含在外部库中。由于我的Qt项目管理器不起作用,我使用Qt-creator创建一个简单的“模板”项目,并通过加载项将.pro文件导入Visual Studio。我已经将常用的库添加到了创建者的pro文件中,并且我可以很好地构建它,但是在Visual Studio构建中给了我一个链接器错误:

Error   2   error LNK1104: cannot open file 'OpenCL.lib'    D:\Qt\Qt5.2.0\Tools\QtCreator\bin\qtpnds\LINK

我尝试导入的完整.pro文件:

#-------------------------------------------------
#
# Project created by QtCreator 2013-12-28T17:27:01
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = qtpnds
TEMPLATE = app


SOURCES += main.cpp\
        mainwindowpnd.cpp

HEADERS  += mainwindowpnd.h

FORMS    += mainwindowpnd.ui

unix|win32: LIBS += -L$$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/ -lOpenCL

INCLUDEPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include
DEPENDPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include

unix|win32: LIBS += -L$$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/ -lFreeImage

INCLUDEPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include
DEPENDPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include

unix|win32: LIBS += -L$$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/ -lglew32

INCLUDEPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include
DEPENDPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include

unix|win32: LIBS += -L$$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/ -lglut32

INCLUDEPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include
DEPENDPATH += $$PWD/C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/include

在创作者中我可以使用该库,它运作良好。

使用:

Qt 5.2.0 MSVC 2012 / w OpenGL ..操作系统: Windows 7 Ultimate SP1,x64 ..加载项版本: Qt-VS-加载项1.2.2 .. VS: Visual Studio 2012 Ultimate

有没有办法在visual studio中链接libs? #pragma comments和通过项目属性链接不起作用,我不知道如何在vs中编辑.pro文件,而不必在每次修改它时重新导入它。

我寻找解决方案,但我只发现了有关Qt-creator的帖子。 对于那些可能会说使用Qt-creator而不是插件的人,我不会。

修改

我的opencl Lib位于C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/文件夹中,其名称为OpenCL.lib。 (C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/lib/OpenCL.lib是完整路径)。其他图书馆也一样。文件和库在Qt-creator中工作! 这些库也添加到了附加依赖项中。

OpenCL.lib
FreeImage.lib
...

没有Qt加载项,文件链接很好,但在将项目转换为Qt后,无法打开它们。我还尝试使用加载项创建一个新的.pro文件。

EDIT2:

从其他依赖项中删除libs后,我得到所有OpenCL函数的未解析的外部函数。将专业文件库路径更改为:

-L"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib" -lOpenCL \
-L"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib" -lFreeImage

也不起作用。

1 个答案:

答案 0 :(得分:1)

如果转换没有解决这个问题,你需要明确地添加所有必要的Qt库及其路径,恐怕是这种情况。您还需要添加opencl库及其路径。

请确保您不要混淆调试和发布版本,因为这可能会在Microsoft环境中出现问题。

在这里,您可以看到两个对话框,您可以基本上将这些附加依赖项和库分配给默认值。

enter image description here enter image description here

相关问题