我正在尝试按照这些说明从源代码为 Windows 构建 Xerces 3.2.5 库。.
我的编译器是 Visual Studio 2019。该版本是我最终为其开发代码的应用程序强制要求的,因为它的 API 仅针对该版本的 VS 进行了认证。
cmake --build
步骤失败,因为多个文件无法找到
Xerces_autoconf_config.hpp
。该文件确实丢失了,尽管我认为构建链中的 ~something~ 使用了
Xerces_autoconf_config.hpp.cmake.in
和
Xerces_autoconf_config.hpp.in
来生成丢失的标头。失败的源文件表明了这一点,
// If the next line generates an error then you haven't run ./configure
#include <xercesc/util/Xerces_autoconf_config.hpp>
然而configure
是一个shell脚本,不能在windows下运行。
采取的步骤:
mkdir build
/
cd build
cmake -Wno-dev -DPROJECT_VERSION=3.2.5 -DCMAKE_INSTALL_PREFIX=G:\libs ..\src
-DPROJECT_VERSION=3.2.5
添加到示例命令中,否则我会收到错误,因为 CMakeLists.txt 中的
write_basic_package_version_file()
命令缺少版本。这纯粹是一个 SWAG,3.2.5 实际上是要传递的正确值。
cmake --build . --config Debug
C:\Dev\xerces-c-3.2.5\src\xercesc/util/XercesDefs.hpp(46,10): fatal error C1083: Cannot open include file: 'xercesc/util/Xerces_autoconf_config.hpp': No such file or directory
我认为我必须做一些事情才能让 cmake 生成丢失的头文件,但我不知道那是什么。
检查生成的项目文件放置的位置。
您可能必须将它们复制到与其他(非生成的)标头相同的位置。