


Bagaimana untuk menyusun silang program boleh laku sistem yang berbeza pada pelayan ubuntu?
相信很多C程序员都有过这样的疑问,如果一台服务器有不同的gcc版本怎么办,它们之间会相互影响吗?
答案是会的,我们一般使用gcc编译源文件时,这个gcc是系统环境变量PATH中最开始找到的gcc。
如果要交叉编译不同系统的程序呢?这就需要多套的编译工具链了,分别使用对应的工具链编译目标系统的程序。
默认路径
- 编译器路径:通常放置在
/usr/bin
目录下。 - 头文件路径:系统级别的头文件通常放在
/usr/include
中,标准库的头文件一般在/usr/local/include
。 - 库路径:系统动态库往往位于
/usr/lib
和/lib
,静态库通常也会放在这里或者/usr/local/lib
。
手动设置路径
编译器路径
更改编译器路径的环境变量通常不是必要的,因为 /usr/bin
应该已经在你的 PATH
环境变量中了。如果你需要使用不同的编译器,你可以直接使用其完整路径或者修改 PATH
环境变量来指向你的编译器,例如:
export PATH=/path/to/your/compiler:$PATH
这样会在现有的 PATH
前添加你指定的路径,使系统首先在此处寻找可执行文件。
设置交叉编译器
我需要在Ubuntu上编译ARM架构的程序,使用Marvell提供的工具链。这个工具链包含了用于交叉编译ARM架构程序的gcc和其他工具,它们都具有相同的前缀。
arm编译:这样设置前缀后就可以使用交叉编译器 export CROSS_COMPILE=/home/zheng/marvell-tools-12006.0/bin/aarch64-marvell-linux-gnu- 使用环境变量进行编译: ${CROSS_COMPILE}gcc-o hello_arm hello_arm.c
查看可执行程序系统架构
然后分别执行一下这两个程序:
当前系统的架构:uname -m
一般情况下gcc是会按照系统默认的PATH路径去查找编译时需要的相应的工具组件
。
所以如果要编译不同架构的程序,就需要有多套的工具链,如果都把这些工具链的路径加到系统的环境变量PATH中则会产生冲突
,会优先使用前面路径中的同名工具,比如PATH设置为:
export PATH=/path/arm_toolchain/bin:/usr/bin:/path/x86_toolchain/bin
/path/arm_toolchain/bin和/usr/bin,/path/x86_toolchain/bin都有名称为gcc的工具,那么前面的就会覆盖后面的
,每次执行都会优先使用最早匹配到的gcc工具
。
缺点:无法动态指定不同架构的编译工具链,需要频繁修改PATH环境变量。
改进方法:给每个工具链指定相应的环境变量
,这样就可以动态区分不同的编译器。
这种办法适合临时切换工具链,编译不同架构的程序,如果是大型C程序一般是通过配置文件中指定了编译器的路径,然后使用make,或者meson等构建工具进行构建。
Atas ialah kandungan terperinci Bagaimana untuk menyusun silang program boleh laku sistem yang berbeza pada pelayan ubuntu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Adakah anda tahu perbezaan antara 32-bit dan 64-bit? Bagaimana untuk memeriksa sama ada fail/program adalah 32-tetapi atau 64-bit? Mengapa anda perlu membezakan versi bit? Pos Php.cn ini menerangkan sebab -sebab dan menunjukkan kaedah untuk memberitahu versi bit fail/p

Kata membolehkan orang menambah gambar ke dokumen tetapi sesetengah orang mendapati bahawa gambar tambahan tidak dapat muncul. Mengapa perkara itu berlaku? Dan bagaimana untuk membetulkan isu "Word Document tidak memaparkan imej"? Sekiranya anda bergelut dengan ralat ini, anda boleh r

Sekarang skrin cetak membuka alat snipping di Windows 11. Adakah anda mahu melumpuhkan butang skrin cetak dari membuka alat snipping? Dalam jawatan ini dari php.cn, anda boleh mempelajari langkah -langkah terperinci untuk mencapai tugas ini.

Ciri menaip suara adalah salah satu ciri yang kuat pada Windows 10/11? Apa yang perlu dilakukan jika kod ralat 0x80049DD3 muncul berulang kali semasa menggunakan ciri ini pada Windows 10/11? Jangan risau! Setelah membaca siaran ini dari penyelesaian php.cn, anda akan menjadi e
![Bagaimana untuk membolehkan pengawal aplikasi Windows Defender? [5 cara] - Minitool](https://img.php.cn/upload/article/001/242/473/174464755553289.jpg?x-oss-process=image/resize,p_40)
Pengawal aplikasi Microsoft Defender menghalang fail yang berpotensi berisiko daripada mengakses sumber sistem yang dipercayai pada Windows 10/11. Siaran ini dari php.cn menyediakan 5 cara untuk anda membolehkan pengawal aplikasi Windows Defender.

Adakah anda mendapati situasi ganjil yang dipasang permainan masih mengambil ruang cakera di tingkap anda? Ramai orang menghadapi masalah ini tetapi mereka tidak tahu bagaimana untuk menyelesaikannya dan membebaskan ruang komputer mereka. Pos Php.cn ini akan memberi anda inspirasi dalam S

Windows 7 Ultimate RTM boleh didapati sebagai muat turun percuma untuk pelanggan MSDN pada komputer x86 atau x64. Siaran ini dari Php.cn memperkenalkan apa yang Windows 7 Ultimate RTM dan bagaimana untuk memuat turun Windows 7 Ultimate RTM. Sekarang, teruskan bacaan anda.

Apabila memasang Windows 7 Service Pack 1 pada PC anda, ralat boleh menghalang anda daripada melakukan perkara ini. Apa yang perlu anda lakukan jika Pek Perkhidmatan Windows 7 gagal atau tidak akan mengemas kini/memasang? Ambil mudah dan cari penyelesaian dari jawatan ini yang ditulis oleh Php.cn.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver Mac版
Alat pembangunan web visual

Dreamweaver CS6
Alat pembangunan web visual