विंडोज़ पर, मैं कोडसोर्सरी के क्रॉस-कंपाइलर सूट का उपयोग करके एआरएम/लिनक्स के लिए एक प्रोग्राम को क्रॉस-कंपाइल कर रहा हूं। मैं अपने कमांड दुभाषिया के रूप में mingw msys का उपयोग करता हूं, और अक्सर यह मेरे पथ और पथनामों को जोड़ देगा। उदाहरण के लिए, मेरे कार्यक्रम का निर्माण करने, मैंकमांड लाइन पर दिए गए पथ नामों से mingw और msys को कैसे रोकें?
arm-none-linux-gnueabi-gcc.exe -Wall -g \
-Wl,--dynamic-linker=/usr/lib/myrpath/ld-linux.so.3 \
-Wl,-rpath=/usr/lib/myrpath \
-I../targetsysroot/usr/include \
myprogram.c -o myprogram
आह्वान बेशक, मैं /usr/lib/myrpath
myprogram
निष्पादन में शब्दशः डाला चाहते हैं - एआरएम linux लक्ष्य मैं MinGW या msys उपयोग नहीं करता है के लिए संकलन कर रहा हूँ। लेकिन यहाँ यह में जाने क्या हो रहा समाप्त होता है:
...
0x0000000f (RPATH) Library rpath: [C:/MinGW/msys/1.0/lib/myrpath]
...
मैं नहीं वास्तव में क्या करना चाहता था। अगर मैं cmd.exe कमांड लाइन पर सीधे gcc का आह्वान करता हूं, तो मुझे निष्पादन योग्य में सही rpath मिलता है। अगर मैं msys कमांड लाइन पर gcc का आह्वान करता हूं, तो मुझे उलझा हुआ रैपथ मिलता है। अगर मैं cmd.exe कमांड लाइन से बनाने के साथ चलाए गए मेकफ़ाइल के साथ जीसीसी का आह्वान करता हूं, तो मुझे अभी भी एक उलझन में rpath (!)
कोई विचार है कि मैं इस कष्टप्रद व्यवहार को कैसे बंद कर सकता हूं?
धन्यवाद - कि लिंक (heuristics) 'बाहर नकली' MinGW करने के लिए मुझे मदद की है और अनमोल के माध्यम से अपना रास्ता प्राप्त करें। –
गलत! बंद होने पर स्विच करने का एक तरीका है। http://stackoverflow.com/a/34386471/404615 –