匹配MSVC符号导出名称到Qt Creator导入查找
Match MSVC symbol export names to Qt Creator import lookups
我有一个库,我在MSVC2012中编译要动态链接。每个声明之前都通过宏LIBAPI
加上__declspec(dllexport)
。这可以很好地构建并创建一个dll +一个库,其中符号如_funcname
(从dumpbin.exe检查)。
在Qt Creator(由相同的MSVC工具链支持)中,我包含用于构建库的相同头,但额外的定义将LIBAPI
宏更改为__declspec(dllimport)
。这是我得到链接器错误的地方,因为它正在寻找__imp_funcname
。如果我将LIBAPI
重新定义为零,链接器将寻找funcname
(没有前面的下划线)。
我已经验证了编译链接工具链中的其他一切都正常工作,唯一的问题是这个函数装饰器不匹配。
问题是:我怎样才能在构建库时强制约定(最好是导出__imp_
风格)或强制Qt找到单个下划线符号?
答案原来是我用x64版本的Qt Creator启动了这个项目,所以它使用x64工具链来进行编译和链接。创建一个全新的项目从Qt Creator x86添加复制所有的文件排序的一切
相关文章:
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 如何在QT Creator上将QWidget声明为继承类的对象
- 在 QTextEdit 中使用指针或在 Qt-Creator 上使用 connect()
- Qt creator 4.11,在应用程序输出面板中创建一个链接
- 使用 Cmake 在 Qt Creator 中显示头文件
- 如何在 CMakeLists.txt Qt Creator 中包含头文件?
- 为什么Qt Creator的应用程序输出不能从spdlog记录器打印
- 使用Qt Creator在调试模式下编译一段代码
- Qt Creator 在执行步骤 "make" 时出现编译错误,-fno-stack-limit
- Qt creator语言 - fno-elide-constructors 不起作用
- 如何将Valgrind与Qt Creator一起使用来调试远程应用程序?
- QT Creator将SQLite复制为空数据库
- 如何在QT Creator中手动运行CMake和Run
- 在Qt Creator中应用代码更改的快捷方式是什么?
- Qt Creator在linux mint 64位中找不到CMAKE_CXX_COMPILER编译器
- 为什么 qt-creator 在我用小写字母命名小部件类后无法构建?
- Qt Creator项目打破:"找不到建筑x86_64符号"
- 您将如何在现有的QT Creator GUI项目中实现ROS发布者和订阅者?
- 将OpenBLAS与Qt Creator项目链接