簡體   English   中英

如何在 MSYS/MINGW 上使用 autoconf 制作配置腳本?

[英]How can I make a configure script using autoconf on MSYS/MINGW?

我正在嘗試在 Windows 10 中使用 IT++ 庫。為此,我需要使用 MSYS 上的 autoconf 從 IT++ 庫中提供的“configure.ac.in”文件制作一個“配置”腳本。 我遇到了這些錯誤:

Ahmad@AHMADTANHA /c/itpp-4.3.1 $ autoconf configure.ac.in /c/MinGW/bin/autoconf-2.68: line 501: /mingw/bin/autom4te-2.68: 沒有那個文件或目錄 /c/MinGW /bin/autoconf-2.68: line 501: exec: /mingw/bin/autom4te-2.68: 無法執行: 沒有那個文件或目錄

MSYS 又舊又慢,請使用 MSYS2。 你可以在這里下載: https : //sourceforge.net/projects/msys2/files/Base/

要使用它首先解壓縮文件(例如msys2-base-x86_64-20200903.tar.xz ),然后在msys64 (或msys32 )文件夾下運行autorebasebase1st.bat並重新啟動。

重啟后啟動mingw64.exe (或mingw32.exe )並運行:

pacman -Syu --noconfirm
pacman -S --noconfirm git wget tar gzip autoconf automake make libtool patch unzip xz bison flex pkg-config
pacman -S --noconfirm mingw-w64-x86_64-gcc

(對於 32 位,最后一行應該是pacman -S --noconfirm mingw-w64-i686-gcc

退出外殼端再次打開它。 現在你應該有一個工作環境。

當我查看 IT++ 的源代碼時,我沒有看到文件configure.acconfigure.am ,只有configure.ac.in 但是有一個文件CMakeLists.txt這意味着該項目可能應該使用 CMake 進行配置。

作為一般規則,如果您可以通過使用更現代的構建系統(如 CMake 或 Ninja)來避免配置工具,那么您應該這樣做。 此外,CMake 支持 Ninja,這比make快得多。

因此,我嘗試像這樣構建靜態並與 CMake 共享的 IT ++ 並且沒有問題:

INSTALLPREFIX=/usr/local
cmake.exe -Wno-dev -GNinja -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLPREFIX -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=OFF -DITPP_SHARED_LIB:BOOL=OFF -DHTML_DOCS:BOOL=OFF -S. -Bbuild_static &&
ninja -Cbuild_static install/strip &&
cmake.exe -Wno-dev -GNinja -DCMAKE_INSTALL_PREFIX:PATH=$INSTALLPREFIX -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=ON -DITPP_SHARED_LIB:BOOL=ON -DHTML_DOCS:BOOL=OFF -S. -Bbuild_shared &&
ninja -Cbuild_shared install/strip &&
echo Success

如果由於某種原因你仍然想使用make而不是ninja你可以用-G"MSYS Makefiles"替換-GNinja

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM