我正在尝试在Visual Studio 2008中的现有Windows CE项目中使用POCO C++库。
我使用提供的.bat文件编译了POCO库。我使用了一个名为build_CE_vs90.cmd的文件,成功生成了多个.lib文件。
然而,POCO库的一个头文件(Foundation.h)有一个pragma来自动链接正确的.lib文件:
问题在于POCO_LIB_SUFFIX被定义为“mtd.lib”,而我在.lib文件所在的目录中没有“mtd”版本的库。我只有
我使用以下命令编译我的项目:
我漏掉了什么?谢谢。
我使用提供的.bat文件编译了POCO库。我使用了一个名为build_CE_vs90.cmd的文件,成功生成了多个.lib文件。
然而,POCO库的一个头文件(Foundation.h)有一个pragma来自动链接正确的.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
我漏掉了什么?谢谢。