在我的VM中,我已经安装了open suse linux 64 bit。 试图为32位构建一个exe。
但是在运行命令时: g ++ prg1.cpp -o prg1 -m32
我收到以下错误:
/usr/lib64/gcc/x86_64-suse-linux/4.8 /../../../../ x86_64的-SUSE-LINUX /斌/ LD: 跳过不兼容 /usr/lib64/gcc/x86_64-suse-linux/4.8/libstdc++.so搜索时 -lstdc ++ /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 跳过不兼容的/usr/lib64/gcc/x86_64-suse-linux/4.8/libstdc++.a 在搜索-lstdc ++时 /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: 找不到-lstdc ++ collect2:错误:ld返回1退出状态
为了构建32,我已经为32位安装了必要的rpms。
跑步 g ++ -print-search-dirs ,输出为
安装:/usr/lib64/gcc/x86_64-suse-linux/4.8/程序: =在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /../../ .. /../x86_64-suse-linux/bin/x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64- SUSE Linux的/ bin中/ 库: =在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /../../../../ x86_64的-SUSE-LINUX / LIB / x86_64的-SUSE-LINUX / 4.8 /:在/ usr / lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /../../../../ x86_64的-SUSE-LINUX / lib中/../ lib64下/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../x86_64-suse-linux/4.8/:/usr/lib64/gcc/x86_64-suse-linux/4.8/ ../../../../lib64/:/lib/x86_64-suse-linux/4.8/:/lib/../lib64/:/usr/lib/x86_64-suse-linux/4.8/: /usr/lib/../lib64/:/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/lib/:/usr/ lib64下/ GCC / x86_64的-SUSE-LINUX / 4.8 /../../../:/ LIB /:/ usr / lib中/
虽然还安装了32位libstdc ++,但链接器无法链接到它。是否需要任何特定标志来告诉链接器构建32位 或者我必须安装任何其他包?
答案 0 :(得分:1)
为了构建32,我已经为32位安装了必要的rpms。
不,你没有。
请注意,为了构建程序,您需要32位运行时和开发库。我猜你已经安装了前者,而不是后者。