Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Qt与外接程序-链接外部库 我想把外部库包含到我的VisualC++ QT外接程序中。由于我的Qt项目管理器无法工作,我使用Qt creator创建了一个简单的“模板”项目,并通过外接程序将.pro文件导入Visual Studio。我已将常用库添加到creator中的pro文件中,使用这些库可以很好地构建,但在Visual Studio building中,会出现链接器错误: Error 2 error LNK1104: cannot open file 'OpenCL.lib' D:\Qt\Qt5.2.0\Tools\QtCreator\bin\qtpnds\LINK_Visual Studio_Qt_Visual Studio 2012_Linker_Qt Creator - Fatal编程技术网

Visual studio Qt与外接程序-链接外部库 我想把外部库包含到我的VisualC++ QT外接程序中。由于我的Qt项目管理器无法工作,我使用Qt creator创建了一个简单的“模板”项目,并通过外接程序将.pro文件导入Visual Studio。我已将常用库添加到creator中的pro文件中,使用这些库可以很好地构建,但在Visual Studio building中,会出现链接器错误: Error 2 error LNK1104: cannot open file 'OpenCL.lib' D:\Qt\Qt5.2.0\Tools\QtCreator\bin\qtpnds\LINK

Visual studio Qt与外接程序-链接外部库 我想把外部库包含到我的VisualC++ QT外接程序中。由于我的Qt项目管理器无法工作,我使用Qt creator创建了一个简单的“模板”项目,并通过外接程序将.pro文件导入Visual Studio。我已将常用库添加到creator中的pro文件中,使用这些库可以很好地构建,但在Visual Studio building中,会出现链接器错误: Error 2 error LNK1104: cannot open file 'OpenCL.lib' D:\Qt\Qt5.2.0\Tools\QtCreator\bin\qtpnds\LINK,visual-studio,qt,visual-studio-2012,linker,qt-creator,Visual Studio,Qt,Visual Studio 2012,Linker,Qt Creator,我尝试导入的完整.pro文件: #------------------------------------------------- # # Project created by QtCreator 2013-12-28T17:27:01 # #------------------------------------------------- QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGE

我尝试导入的完整.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
在creator中,我可以使用该库,它运行良好

使用: Qt 5.2.0 MSVC 2012/w OpenGL。。操作系统:Windows 7 Ultimate SP1,x64。。外接程序版本:Qt与外接程序1.2.2的比较。。VS:Visual Studio 2012 Ultimate

有没有办法在VisualStudio中链接libs
#pragma注释
和通过项目属性进行链接不起作用,我无法/不知道如何在vs中编辑.pro文件,而无需每次修改时重新导入它

我确实在寻找解决方案,但我只找到了关于Qt creator的帖子。 对于那些可能会说使用QtCreator而不是插件的人,我不会这么说

编辑

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

OpenCL.lib
FreeImage.lib
...
如果没有Qt插件,文件链接良好,但将项目转换为Qt后,无法打开它们。我还尝试使用外接程序创建一个新的.pro文件

Edit2:

从附加依赖项中删除libs之后,我得到了所有OpenCL函数的未解析外部。将pro文件库路径更改为:

-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

也不起作用。

如果转换没有考虑到这一点,您将需要显式地添加所有必需的Qt库及其路径,我恐怕就是这样。您还需要添加opencl库及其路径

确保不要混合调试版本和发布版本,因为它们在Microsoft环境中可能会失控

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


您不能像这里的屏幕截图那样设置它吗?你的opencl库在哪里?它在你的Windows上到底是如何调用的?看来你的解决方案可以工作了。我已经将附加lib目录设置为默认目录,现在得到Qt-library(Qt5Guid.lib Qt5Widgetsd.lib)链接器错误。我也会找到他们的+1对于答案,请确保您没有混合发布版本和调试版本,它们的路径是正确的,并且您也提供了这些LIB。最终可以正常工作。我切换回32位调试器,将qt库添加到其他依赖项,并链接文件。现在pragma注释也起作用了。。。我多么讨厌配置链接器。。。