पर एक gnulib आधारित प्रोजेक्ट को क्रॉस-संकलित करें मैं इस project को MinGW पर क्रॉस-संकलित करने का प्रयास कर रहा हूं।MingW
परियोजना का निर्माण प्रणाली के रूप में autotools का उपयोग करता है, और libcurl, CUnit, Jansson और कुछ gnulib मॉड्यूल पर निर्भर करता है।
मैं सभी dependancies x86_64-w64-mingw32
के लिए संकलित और /home/user/mingw64
के तहत स्थापित किया है मैं चलाएँ:
$ gnulib-tool --update
$ autoreconf -fi
$ CURL_CFLAGS="-I/home/user/mingw64/usr/local/include" \
CURL_LIBS="-L/home/user/mingw64/usr/local/lib -lcurl" \
JANSSON_CFLAGS="-I/home/user/mingw64/usr/local/include" \
JANSSON_LIBS="-L/home/user/mingw64/usr/local/lib -ljansson" \
CUNIT_CFLAGS="-I/home/user/mingw64/usr/local/include" \
CUNIT_LIBS="-L/home/user/mingw64/usr/local/lib -lcunit" \
./configure --host=x86_64-w64-mingw32
$ make
और मैं इस त्रुटि मिलती है:
make all-recursive
make[1]: Entering directory '/home/user/projects/shill'
Making all in po
make[2]: Entering directory '/home/user/projects/shill/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/user/projects/shill/po'
Making all in lib
make[2]: Entering directory '/home/user/projects/shill/lib'
make[2]: *** No rule to make target 'lib/errno.h', needed by 'all'. Stop.
make[2]: Leaving directory '/home/user/projects/shill/lib'
Makefile:1897: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/projects/shill'
Makefile:1429: recipe for target 'all' failed
make: *** [all] Error 2
errno.h
gnulib मॉड्यूल का हिस्सा है । तो मुझे लगता है कि इस समस्या Makefile.am में इस खंड से आता है:
# Find gnulib headers.
ACLOCAL_AMFLAGS = -I m4
AM_CPPFLAGS = \
-DLOCALEDIR='"$(localedir)"' \
-Ilib -I$(top_srcdir)/lib \
-Isrc -I$(top_srcdir)/src \
लेकिन मैं समाधान को समझ नहीं सकता। मैंने gnulib manual में वर्णित निर्देशों का पालन किया।
कुछ मेकफ़ाइल में 'all: ... lib/errno.h जैसी एक पंक्ति है ...'(या एक रेखा जो परिवर्तनीय प्रतिस्थापन के बाद उसमें फैली हुई है) जो आपकी समस्या का निकटतम कारण है। –
@RossRidge सभी 'मेकफ़ाइल' ऑटोटूल द्वारा स्वतः उत्पन्न होते हैं, भले ही मुझे त्रुटि मिलती है और इसे ठीक कर दिया जाता है, यह काम नहीं करेगा। 'मेकफ़ाइल' को फिर से बनाया जाएगा और फिक्स ओवरराइड किया जाएगा। –
तो स्रोत को संशोधित करके इसे ठीक करें। –