Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何获得pcre2的完全静态构建_Windows_Cmake_Pcre - Fatal编程技术网

Windows 如何获得pcre2的完全静态构建

Windows 如何获得pcre2的完全静态构建,windows,cmake,pcre,Windows,Cmake,Pcre,我正在尝试使用cmake在Windows10上静态构建pcre2。我采取的步骤是: md C:\ProgramData\ThirdParty\installed\pcre2 md pcre2 curl https://ftp.pcre.org/pub/pcre/pcre2-10.35.tar.gz -o tmp.tar.gz tar -xf tmp.tar.gz -C pcre2 --strip-components=1 cd pcre2 md build cd build cmake .. -

我正在尝试使用cmake在Windows10上静态构建pcre2。我采取的步骤是:

md C:\ProgramData\ThirdParty\installed\pcre2
md pcre2
curl https://ftp.pcre.org/pub/pcre/pcre2-10.35.tar.gz -o tmp.tar.gz
tar -xf tmp.tar.gz -C pcre2 --strip-components=1
cd pcre2
md build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX="C:\ProgramData\ThirdParty\installed\pcre2" -DBUILD_SHARED_LIBS=OFF -DPCRE2_STATIC=ON -DPCRE2_BUILD_TESTS=OFF -DZLIB_LIBRARY="C:\ProgramData\ThirdParty\installed\zlib\lib\zlibstatic.lib"
cmake --build . --config Release --target install
尽管有这些设置,但如果我正确理解如何构建静态库,那么在尝试链接pcre2-8.lib时会出现未解决的外部符号错误,为了更好地度量,我还包括了pcre2-posix.lib

使用
DUMPBIN/SYMBOLS
查看两个lib文件,我猜有一些外部符号指向生成输出的bin目录中的pcre2-8.dll

是否可以使pcre2-8.lib没有外部引用


提前感谢您的时间。

它已经是静态的。只需在使用库的项目中包含“PCRE2.h”之前定义宏名PCRE2#u STATIC

像这样:

#define PCRE2_STATIC
#define PCRE2_CODE_UNIT_WIDTH 8

#include "pcre2.h"