다음과 같이 오류가 발생하여 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 빌드에는 차이가 없었습니다.
당신은 내가 무엇을하고 있었는지에 대해 더 궁금한 점이 있으면 문의하시기 바랍니다 내가 그들을 편집합니다.