คำถามติดแท็ก cross-compiling

8
สิ่งที่ขาดหายไปคือ“ bits / c ++ config.h” เมื่อข้ามการรวบรวมโปรแกรม 64 บิตใน 32 บิตใน Ubuntu
ฉันกำลังใช้งาน Ubuntu 32 บิตรุ่น 10.10 และพยายามคอมไพล์ข้ามไปยังเป้าหมาย 64 บิต จากการวิจัยของฉันฉันได้ติดตั้งแพ็คเกจ g ++ - multilib โปรแกรมนี้เป็นโปรแกรมสวัสดีทั่วโลก: #include <iostream> int main( int argc, char** argv ) { std::cout << "hello world" << std::endl; return 0; } รวบรวม: g++ -m64 main.cpp ข้อผิดพลาด: In file included from main.cpp:1: /usr/include/c++/4.4/iostream:39: fatal error: bits/c++config.h: No such file …

11
ข้อผิดพลาด“ gnu / stubs-32.h: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว” ในขณะที่คอมไพล์ซอร์สโค้ด Nachos
ฉันกำลังพยายามติดตั้ง Nachos บนแล็ปท็อปของฉันและฉันมี Ubuntu 11.04 บนแล็ปท็อป รหัสอยู่ใน C และเพื่อสร้างฉันคิดว่าฉันจะต้องรวบรวมข้าม นี่คือที่ปัญหาของฉันคือ ฉันดาวน์โหลดซอร์สโค้ดของ MIPS cross compiler โดยใช้คำสั่ง wget http://mll.csie.ntu.edu.tw/course/os_f08/assignment/mips-decstation.linux-xgcc.gz และฉันคลายซิปโดยใช้ tar zxvf mips-decstation.linux-xgcc.gz ไม่เป็นไร แต่เมื่อฉันพยายามสร้างซอร์สโค้ดของ nachos os โดยใช้ make ฉันได้รับข้อผิดพลาดนี้ - /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory compilation terminated. make: *** [bitmap.o] Error 1 ฉันพยายามทำตามคำแนะนำที่ระบุไว้ที่นี่ - http://mll.csie.ntu.edu.tw/course/os_f08/217.htmและทุกอย่างทำงานได้ดียกเว้นเมื่อฉันพยายามใช้งาน

6
รวบรวมข้ามไปบน OSX?
ฉันพยายามคอมไพล์แอพ go บน OSX เพื่อสร้างไบนารีสำหรับ windows และ linux ฉันได้อ่านทุกสิ่งที่ฉันสามารถหาได้ในอินเทอร์เน็ต ตัวอย่างที่ใกล้เคียงที่สุดที่ฉันพบได้รับการเผยแพร่ใน (นอกเหนือจากการสนทนาที่ยังไม่เสร็จจำนวนมากในรายชื่อผู้รับจดหมาย go-nuts): http://solovyov.net/en/2012/03/09/cross-compiling-go/ แต่มันไม่สามารถใช้งานได้กับการติดตั้งของฉัน ฉันไปแล้ว 1.0.2 เนื่องจาก 1.0.2 ค่อนข้างล่าสุดฉันคิดว่าตัวอย่างด้านบนทั้งหมดไม่สามารถใช้ได้กับเวอร์ชันนี้ พยายามทำ./make.bash --no-cleanด้วย ENV vars ที่ 386 / windows มันสร้างไป แต่มันสร้างไปสำหรับการติดตั้งของฉันซึ่งเป็นdarwin/amd64และไม่สนใจสิ่งที่ตั้งอยู่ใน ENV ที่คาดว่าจะสร้างคอมไพเลอร์ที่แตกต่างกัน มีคำแนะนำใด ๆ ว่าจะทำได้อย่างไร (ถ้าทำได้)

2
อะไรคือความแตกต่างของตัวเลือก“ ./configure”“ --build”,“ --host” และ“ --target”?
สคริปต์ที่./configureยอมรับเลือก 3 --build, และ--host --targetฉันสับสนบทบาทของพวกเขา อะไรคือความแตกต่างและความหมายของพวกเขา?

8
จะติดตั้งคอมไพเลอร์ข้าม Raspberry Pi บนเครื่องโฮสต์ Linux ของฉันได้อย่างไร
ฉันกำลังพยายามรวบรวมข้ามสำหรับ Raspberry Pi ที่ทำงานบนเครื่อง Ubuntu ของฉัน ในระหว่างความพยายามครั้งแรกของฉันฉันใช้คอมไพเลอร์ arm-linux-gnueabi ซึ่งมีอยู่ใน repo ของ Ubuntu ฉันได้ผล ฉันสามารถสร้างการอ้างอิงทั้งหมดและใช้ cross-compiler ในโครงการ cmake ของฉัน อย่างไรก็ตามฉันเชื่อว่าฉันควรใช้เวอร์ชัน hf ดังนั้นฉันจึงเปลี่ยนไปใช้ arm-linux-gnueabihf จากนั้นฉันก็รู้ว่าสิ่งนี้ใช้ไม่ได้กับ Raspberry Pi เนื่องจากเป็น armv6 หลังจากที่บาง Googling ผมแล้วพบtoolchain ที่สร้างไว้ล่วงหน้าจาก GitHub ฉันดาวน์โหลด toolchain แต่ฉันไม่เข้าใจวิธี "ติดตั้ง" จริงๆ ฉันแตกไฟล์ไปยังโฮมไดเร็กทอรีของฉัน โครงสร้างไดเร็กทอรีมีลักษณะดังนี้: /gcc-linearo-arm-linux-gnueabihf-raspbian /arm-linux-gnueabihf /bin (contains g++, gcc, etc) /lib (contains libstdc++ library) …

4
ไม่ได้กำหนดการอ้างอิงถึงสมาชิกแบบคงที่
ฉันใช้คอมไพเลอร์ข้าม รหัสของฉันคือ: class WindowsTimer{ public: WindowsTimer(){ _frequency.QuadPart = 0ull; } private: static LARGE_INTEGER _frequency; }; ฉันได้รับข้อผิดพลาดต่อไปนี้: การอ้างอิงที่ไม่ได้กำหนดถึง `` WindowsTimer :: _ frequency ' ฉันยังพยายามที่จะเปลี่ยนเป็น LARGE_INTEGER _frequency.QuadPart = 0ull; หรือ static LARGE_INTEGER _frequency.QuadPart = 0ull; แต่ฉันยังคงได้รับข้อผิดพลาด ใครรู้ว่าทำไม?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.