1

我在尝试构建 cppcms 时遇到以下错误。

错误 184 错误 LNK2019:未解析的外部符号 __imp_pcre_compile 在函数“public: void __cdecl booster::regex::assign(class std::basic_string,class std::allocator > const &,int)”中引用 (?assign@regex@booster @@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) C:\Stuff\Development\CPP\cppcms-1.0.2\build \助推器\pcre_regex.obj
错误 185 错误 LNK2019:未解析的外部符号 __imp_pcre_exec 在函数“public: bool __cdecl booster::regex::match(char const *,char const *,class std::vector,class std::allocator > > &,int) 中引用const " (?match@regex@booster@@QEBA_NPEBD0AEAV?$vector@U?$pair@HH@std@@V?$allocator@U?$pair@HH@std@@@2@@std@@H@ Z) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj
错误 186 错误 LNK2019:函数“public: void __cdecl booster::regex::assign(class std::basic_string,class std::allocator > const &,int)”中引用的未解析的外部符号 __imp_pcre_fullinfo (?assign@regex@booster @@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) C:\Stuff\Development\CPP\cppcms-1.0.2\build \助推器\pcre_regex.obj
错误 187 错误 LNK2019:函数“public: __cdecl booster::regex::data::data(struct booster::regex::data const &)”(??0data@regex@booster@@QEAA) 中引用的未解析的外部符号 __imp_pcre_malloc @AEBU012@@Z) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj
错误 188 错误 LNK2019:函数 __catch$??0data@regex@booster@@QEAA@AEBU012@@Z$0 C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex 中引用的未解析的外部符号 __imp_pcre_free .obj
错误 189 错误 LNK2019:函数“public: __cdecl booster::aio::endpoint::endpoint(class std::basic_string,class std::allocator > const &,int)”中引用的未解析外部符号 __imp_htons (??0endpoint@ aio@booster@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z) C:\Stuff\Development\CPP\cppcms- 1.0.2\build\booster\endpoint.obj

我的环境是 Windows 7 64 位,使用 Visual Studio 2012 Professional 和 CMake 2.8.9。

对于我编译的所有内容,我将 CMake 配置为为 VS2012 生成解决方案以使用 64 位编译器。当我编译库时,我编译发布版本。

首先我编译 Zlib 1.2.7 没有问题。其次,我编译 pcre-8.31 没有问题。

然后,当有时间编译 cppcms-1.0.2 时,我得到了一堆或错误,正如我之前指出的那样。在 CMake 中配置 cppcms 时,我设置了 PYTHON 2.7,我使用

C:/Stuff/Development/CPP/Zlib/zlib-1.2.7/build
对于我的 ZLIB_INCLUDE_DIR,只需在其末尾附加一个 /Release/zlibstatic.lib,您就有了我正在使用的 ZLIB 库,但我不确定我的 PCRE 是否设置正确。

由于 PCRE 在 CMake 中有一个 include 和 include2,我不确定要在其中放入什么,所以我只做了 pcre-8.31 根目录和 pcre-8.31 构建目录。对于 PCRE_LIB,我使用 pcre-8.31/build/Release/pcre.lib。

我已经删除了库的所有构建目录,甚至重新开始,但我仍然遇到这些问题,我不确定是什么原因造成的。后来我意识到 cppcms 构建目录中的 booster 也有一个解决方案,所以我首先构建了它,它有 3 个失败的项目,但大多数都成功了,但是它对 cppcms 的构建没有任何影响。

如果您对我在做什么还有其他问题,请提出,我会编辑它们。

4

1 回答 1

2

询问有关 cppcms 问题的最佳地点是 cppcms 邮件列表。在这里注册: https ://lists.sourceforge.net/lists/listinfo/cppcms-users

Artyom 在那里提供出色的支持服务。虽然他也是 SO 成员,但并非所有 cppcms 开发人员都是,而且他们中的许多人还在邮件列表上提供帮助。总的来说,你会在那里得到更好的答案,特别是因为能够回答的人会更快地注意到你的问题。

于 2012-10-01T04:10:08.960 回答