我有一个使用 PoDoFo 支持 PDF 的项目,我正在尝试更新它以使用 SVN 树中的 HEAD 版本。
与我使用的上一个版本相比,最大的变化是从 OpenSSL 中添加了 libcrypto,这似乎是必需的。我下载并构建了 OpenSSL 并设置了适当的选项(或者我希望如此),以便 cmake 可以找到 libcrypto。
cmake 似乎觉得没问题,但是当我尝试从生成的 makefile 构建时,我得到了错误:
Encrypt.cpp(50):致命错误 C1083:无法打开包含文件:'openssl/md5.h':没有这样的文件或目录
我削减了我的构建脚本,以便我可以专注于这个问题:
设置本地 设置 ROOT=%CD% 推波多福 设置 CMAKE_PARAMS=-Wno-dev -C ..\BuildSetup.cmake 。-DCMAKE_INSTALL_PREFIX:PATH=%1 设置 CMAKE_PARAMS_RELEASE=-DCMAKE_BUILD_TYPE=释放 %CMAKE_PARAMS% 调用“%VS100COMNTOOLS%..\..\vc\vcvarsall.bat”x86 del CMakeCache.txt >nul rd /s /q CMakeFiles >nul 设置 CMAKE_PREFIX_PATH=%ROOT%\install\zlib\x86 设置 CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH%;%ROOT%\install\freetype\x86 设置 CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH%;%ROOT%\install\libjpeg\x86 设置 CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH%;%ROOT%\install\libpng\x86 设置 CMAKE_PREFIX_PATH=%CMAKE_PREFIX_PATH%;%ROOT%\install\openssl\x86 设置 CRYPTO=-DLIBCRYPTO_INCLUDE_DIR=%ROOT%\install\openssl\x86\include 设置 CRYPTO=%CRYPTO% -DLIBCRYPTO_LIBRARY_NAMES=libeay32 cmake %CRYPTO% %CMAKE_PARAMS_RELEASE%\x86 -G "NMake Makefiles" cmake --build 。--target 安装 --clean-first 流行音乐 本地端
我的BuildSetup.cmake
文件:
设置(CMAKE_CONFIGURATION_TYPES“调试;发布”缓存字符串“配置类型”强制) 设置(CMAKE_INSTALL_PREFIX "../install" CACHE PATH "安装路径" FORCE) 设置(CMAKE_C_FLAGS_RELEASE "/MT /O1 /Ob2 /D NDEBUG" CACHE STRING "C 释放标志" FORCE) 设置(CMAKE_CXX_FLAGS_RELEASE "/MT /O1 /Ob2 /D NDEBUG" CACHE STRING "C++ 发布标志" FORCE) 设置(CMAKE_C_FLAGS_DEBUG "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" CACHE STRING "C 调试标志" FORCE) 设置(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /MTd /Zi /Ob0 /Od /RTC1" CACHE STRING "C++ 调试标志" FORCE) 设置(BUILD_SHARED_LIBS 关闭缓存字符串“”)
我尝试将路径显式添加openssl/md5.h
到INCLUDE
环境变量中,但没有任何效果。
我还尝试使用“Visual Studio 10”生成器。同样的问题。