链接MinGW gcc c ++应用程序对mvsc c ++ .lib

时间:2018-06-18 02:22:30

标签: c++ visual-studio qt mingw

我需要将英特尔实感C ++库(旧版2016 R3而不是当前的2.0 SDK)集成到使用Qt MinGW g ++ 32位(由Qt5.11离线安装程序安装)构建的现有应用程序中

基本上,它们提供头文件和一些.lib文件来编译和链接应用程序

当我尝试在Visual Studio中编译Segmentation示例时,它们可以工作,(它们提供了一个.props文件,我可以将其添加到Visual Studio Solution的Project的Property Manager中,顺便说一句,我在Windows 10上使用Visual Studio Community 2017主页64位),但是,我正在开发的应用程序是使用QtCreator制作的,所以我需要能够使用QtCreator进行编译,并且将构建迁移到Visual Studio可能不是一个可行的解决方案

如果我尝试在QtCreator(由Qt5.11离线安装程序安装)中使用MinGW(32位)编译Segmentation示例,我会收到类似这样的错误消息

C:\src\Debug\app\main.cpp:34: error: undefined reference to `UtilCmdLine::UtilCmdLine(Intel::RealSense::Session*, int)'

即使我尝试在QtCreator中使用MSVC(64位)(由Qt5.11离线安装程序安装)(这不是一个很好的选择)

我收到像这样的错误消息

C:\src\Debug\app\main.cpp.obj:-1: error: LNK2019: unresolved external symbol PXCSession_CreateFromPath referenced in function "public: static class Intel::RealSense::SenseManager * __cdecl Intel::RealSense::SenseManager::CreateInstance(wchar_t const *)" (?CreateInstance@SenseManager@RealSense@Intel@@SAPEAV123@PEB_W@Z)

表示几个符号

有没有人解决过类似的问题?

MinGW我认为我理解不工作,因为MSVC符号损坏和一般的不同ABI,并且因为在MinGW中使用.lib文件的工具不再可用(至少在官方网站上没有),但是为什么MSVC无法正常工作?我错过了Visual Studio没有QtCreator没有的东西吗?

有没有办法在visual studio中制作类似于包装库的东西,以便我可以在MinGW中使用?我看到一些与.lib文件有类似问题的人被告知如果可以使用COM样式接口

我看到那是

只是为了澄清,我不确定这是Qt库引入的问题,但有一些应用程序的代码只是无法用MSVC正确编译,所以现在,我更喜欢一种编译方式在QtCreator中使用MinGW,虽然我们可能最终将它与两个编译器一起使用(或者至少尝试)

0 个答案:

没有答案