【发布时间】:2011-01-07 13:15:25
【问题描述】:
我正在尝试编译一个简单的 c++ 程序以在 ESXi 3.5 控制台窗口中运行。看来我链接到了错误的库...是否在某处描述了设置 - 我必须使用哪个版本的 G++ 和库才能这样做?
【问题讨论】:
我正在尝试编译一个简单的 c++ 程序以在 ESXi 3.5 控制台窗口中运行。看来我链接到了错误的库...是否在某处描述了设置 - 我必须使用哪个版本的 G++ 和库才能这样做?
【问题讨论】:
这是我解决问题的方法。我做了以下编译:
将所有显示为依赖项的库复制到子文件夹 ESXi-3.5-lib。就我而言,他们是:
ld-linux.so.2
libc.so.6
libgcc_s.so.1
libm.so.6
libstdc++.so.5
在 gcc 中添加了以下开关:
以下是我的最终构建命令:
g++ file1.cpp file2.cpp file3.cpp -o output-biinary-file-name \
ESXi-3.5-lib/ld-linux.so.2 ESXi-3.5-lib/libc.so.6 ESXi-3.5-lib/libgcc_s.so.1\
ESXi-3.5-lib/libm.so.6 ESXi-3.5-lib/libstdc++.so.5 \
-nodefaultlibs -lc -m32 -fno-stack-protector
【讨论】: