C++ POCO 构建错误
C++ POCO build error
我正在尝试在Visual Studio 2008上现有的Windows CE项目中使用POCO C++库。
我使用提供的.bat文件编译了 POCO 库。我使用了一个命名build_CE_vs90.cmd
,它成功生成了几个 .lib 文件。
但是,POCO库(Foundation.h)的标头具有自动链接正确的.lib文件的总注:
#if defined(_MSC_VER)
#if defined(POCO_DLL)
#if defined(_DEBUG)
#define POCO_LIB_SUFFIX "d.lib"
#else
#define POCO_LIB_SUFFIX ".lib"
#endif
#elif defined(_DLL)
#if defined(_DEBUG)
#define POCO_LIB_SUFFIX "mdd.lib"
#else
#define POCO_LIB_SUFFIX "md.lib"
#endif
#else
#if defined(_DEBUG)
#define POCO_LIB_SUFFIX "mtd.lib"
#else
#define POCO_LIB_SUFFIX "mt.lib"
#endif
#endif
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Foundation_EXPORTS)
#pragma comment(lib, "PocoFoundation" POCO_LIB_SUFFIX)
#endif
#endif
问题是POCO_LIB_SUFFIX被定义为"mtd.lib",而我在 .lib 文件所在的目录中没有"mtd"版本的库。我只有PocoFoundation.lib
和PocoFoundationd.lib
,但没有PocoFoundationmtd.lib
,这会导致链接时出错,因为找不到文件。
我使用以下命令编译我的项目:
POCO_STATIC
POCO_NO_UNWINDOWS
我打开了构建.bat脚本,它确实包含传递给主构建文件的参数"static_mt":
@echo off
buildwin 90 build static_mt both WinCE samples
我错过了什么?谢谢。
您正在使用 DEBUG 配置编译您的项目,更改它并取消定义POCO_STATIC(它是多线程构建),出于某种原因您编译了共享版本,这就是为什么您拥有没有任何后缀的 .lib 文件。
相关文章:
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- Clion显示错误,但可以使用Cmake成功构建代码
- Agora.io 虚幻引擎插件构建错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 如何构建 SOCI 库而没有错误?
- 尝试将 boost::stacktrace 添加到 CMake 项目时出现构建错误
- Arch Linux.AUR 包 mysql 不能用 makepkg 构建.错误:构建 () 中出现故障
- GCC:随机构建导致执行期间分段错误
- 组件上的虚幻引擎可蓝图UFUNCTION会导致构建错误
- 构建失败错误:无法使用 qibuild 构建C++ SDK Helloworld
- 调试模板时出现问题.专门针对 Linux GCC 7、GCC 6、GCC 5、GCC 4.9 错误构建失败:模板参数 1
- MINGW的错误构建提升
- 从Canfestival错误构建CanOpen的示例
- 链接器错误构建GDAL VS2017
- Netbeans 7.4 C++简单的 hello world 错误构建失败尝试了 Google 搜索结果前 2 页上的
- 链接器错误构建 fibonnacci 示例与 boost::coroutine2 与 Boost 1.60 使用动态链接
- 使用CMake错误构建Thor SFML扩展
- 链接器错误构建GDAL
- 错误构建简单的MongoDB c++客户端示例