我願意編譯需要的gcc -std =的C++ 0x選項,使其執行的Synology NAS的x86系統(英特爾凌動)的程序。我正在使用交叉編譯工具鏈(synoroot目錄)。的Synology交叉編譯的gcc -std =的C++ 0x
$cat tst.cpp
tst.cpp:
int main() {
return 0;
}
$ gcc --version
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
$gcc tst.cpp -std=c++0x --sysroot=/usr/local/synoroot -nodefaultlibs /usr/local/synoroot/lib/libc.so /usr/local/synoroot/lib/ld-linux.so.2 /usr/local/synoroot/usr/lib/libstdc++.so /usr/local/synoroot/lib/libm.so -o tst
$./tst && echo $?
0
在Synology:
$./tst
Floating point exception (core dumped)
如果我使用的工具鏈GCC(i686的Linux的GNU的海灣合作委員會(GCC)4.2.1),./tst執行正確的Synology但-std = C++ 0x不受支持。
那麼我怎樣才能成功執行和C++ 0x支持?
乾杯
通過使用支持c + + 11的gcc版本:) –
您將不得不使用新的GCC版本進行交叉編譯構建。 –