2012-09-29 2 views
1

다음과 같이 오류가 발생하여 cppcms를 빌드하려고합니다.cppcms 해결되지 않은 외부 기호가 많음

 
Error 184 error LNK2019: unresolved external symbol __imp_pcre_compile referenced in function "public: void __cdecl booster::regex::assign(class std::basic_string,class std::allocator > const &,int)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj 
Error 185 error LNK2019: unresolved external symbol __imp_pcre_exec referenced in function "public: bool __cdecl booster::regex::match(char const *,char const *,class std::vector,class std::allocator > > &,int)const " ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@[email protected]@[email protected]) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj 
Error 186 error LNK2019: unresolved external symbol __imp_pcre_fullinfo referenced in function "public: void __cdecl booster::regex::assign(class std::basic_string,class std::allocator > const &,int)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj 
Error 187 error LNK2019: unresolved external symbol __imp_pcre_malloc referenced in function "public: __cdecl booster::regex::data::data(struct booster::regex::data const &)" ([email protected]@[email protected]@[email protected]@@Z) C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj 
Error 188 error LNK2019: unresolved external symbol __imp_pcre_free referenced in function [email protected]@[email protected]@[email protected]@@Z$0 C:\Stuff\Development\CPP\cppcms-1.0.2\build\booster\pcre_regex.obj 
Error 189 error LNK2019: unresolved external symbol __imp_htons referenced in function "public: __cdecl booster::aio::endpoint::endpoint(class std::basic_string,class std::allocator > const &,int)" ([email protected]@[email protected]@[email protected][email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]) 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을 설정하고 ZLIB_INCLUDE_DIR에

 C:/Stuff/Development/CPP/Zlib/zlib-1.2.7/build
을 사용하고 그 끝에 /Release/zlibstatic.lib를 추가하면 ZLIB 라이브러리를 사용할 수 있습니다. 그러나 확실하지 않습니다. 내 PCRE가 올바르게 설정 되었으면.

PCRE에는 include와 include2가 포함되어 있기 때문에 pcre-8.31 루트 디렉토리와 pcre-8.31 빌드 디렉토리를 만들었는지 모르겠습니다. PCRE_LIB의 경우 pcre-8.31/build/Release/pcre.lib를 사용합니다.

라이브러리의 빌드 디렉토리를 모두 삭제하고 처음부터 다시 시작했지만 여전히 이러한 문제가 있으며 무엇이 원인인지 알 수 없습니다. 나중에 나는 cppcms 빌드 디렉토리의 부스터가 솔루션을 가지고 있다는 것을 깨달았습니다. 그래서 처음에는 3 개의 실패한 프로젝트가 있었지만 가장 성공적이었습니다.하지만 cppcms 빌드에는 차이가 없었습니다.

당신은 내가 무엇을하고 있었는지에 대해 더 궁금한 점이 있으면 문의하시기 바랍니다 내가 그들을 편집합니다.

답변

2

cppcms에 대한 질문은 메일 링리스트 cppcms에 문의하는 가장 좋은 장소. 여기에 가입하십시오 : https://lists.sourceforge.net/lists/listinfo/cppcms-users

Artyom은 훌륭한 지원 서비스를 제공합니다. 그는 또한 S.O. 모든 cppcms 개발자가 아니며 많은 사람들이 메일 링리스트에서 도움을 제공합니다. 전반적으로, 당신은 대답 할 수있는 사람들이 당신의 질문을 더 빨리 알게 될 것이기 때문에 더 좋은 대답을 얻을 것입니다.