gpt4 book ai didi

linker - 使用 g++ 链接无法搜索 -lstdc++

转载 作者:行者123 更新时间:2023-12-03 10:44:13 25 4
gpt4 key购买 nike

我正在尝试使用其他人的 Makefile 来编译一个非常简单的 C++ 库。生成文件如下:

JNIFLAGS=-O2 -pthread -I/usr/lib/jvm/java-6-sun/include -I/usr/lib/jvm/java-6-sun/include/linux

all:
rm -f ../dist/libUtils.so
g++ $(JNIFLAGS) -c -m32 -o com_markets_utils_dates_NativeTime.o com_markets_utils_dates_NativeTime.cpp
g++ $(JNIFLAGS) -c -m32 -o DateUtil.o DateUtil.cpp
g++ -pthread -m32 -shared -fPIC -o ../dist/libUtils.so DateUtil.cpp
g++ -pthread -m32 -shared -fPIC -o ../dist/libNativeTime.so DateUtil.o com_markets_utils_dates_NativeTime.o

这编译得很好,但链接器提示:
...
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.1/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status
make: *** [all] Error 1

仅供引用,我使用的是 Ubuntu 9.10 64 位。

最佳答案

发布以供将来引用,我找到的解决方案是 安装 g++-multilib .我在 g++ 版本 4.6.1 上遇到了与 -lstdc++ 相关的不兼容问题

进一步探讨:g++-multilib 是一个虚拟包,它安装了 g++4.6-multilib,后者又安装了适当的 libstdc++.so 在/usr/lib/gcc/x86_64-linux-gnu/4.6/32 文件夹下。

关于linker - 使用 g++ 链接无法搜索 -lstdc++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2086072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com