当前位置: 首页 > 面试题库 >

/ usr / bin / ld:找不到-lpython2.7

乜承嗣
2023-03-14
问题内容

我正在尝试使用Python 2.7安装MySQLdb。我收到的错误如下所示:

gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/opt/python2.7/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64
gcc -pthread -shared build/temp.linux-x86_64-2.7/_mysql.o -L/usr/lib64/mysql -L. -lmysqlclient_r -lz -lpthread -lcrypt -lnsl -lm -lpthread -lmygcc -lpython2.7 -o build/lib.linux-x86_64-2.7/_mysql.so
/usr/bin/ld: cannot find -lpython2.7
collect2: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

显然,它找不到Python 2.7。展望/usr/bin我看到:

python*
python2@
python2.4*
python2.7@

@符号是什么意思?谁能建议对此错误采取补救措施?


问题答案:

它找不到Python库,而不是可执行文件。运行locate libpython2.7.a以查看Python库的位置,然后将其添加到库路径(例如,如果位于中/opt/python2.7/lib,则要调用LDFLAGS="-L/opt/python2.7/lib" make)。

@符号意味着该文件是一个符号链接; *表示它是可执行文件(这些文件由产生ls -F,您可能将其作为别名)。



 类似资料:
  • 问题内容: 我正在尝试编译我的程序,它返回此错误: 在我的makefile文件中,我使用命令并链接到我的库,这是到我的库的另一个目录的符号链接。 是否可以添加选项以使其正常工作? 问题答案: 如果您的图书馆名称是say 并且位于路径上,请说: 然后将其链接到您的程序:

  • 因此,我试图使用make-f Makefile编译一个程序,但我得到了以下错误/usr/bin/ld:not find-lgd 生成文件: 替换(libgd.a libgd.la libgd.so libgd.so.2 libgd.so.2.0.0)后,我收到以下错误:

  • 我试图编译我的程序,它返回这个错误: 在我的makefile中,我使用命令并链接到我的库,这是一个符号链接到我位于其他目录上的库。 是否有一个选项添加,使其工作,请?

  • 我正在按照帮助中的coder教程进行操作。使用时,出现如下错误: /usr/bin/ld:找不到-lstdc Collect2:ld返回1退出状态 但是在 中都有库

  • 我在/usr/local/lib中有libcommon.so,我在程序中链接了这个库。 gcc -o测试test _ Prog . c-L/usr/local/lib-llib common . so 我也试过这个 gcc -o test test_prog.c -L/usr/local/lib -llibcommon 是给予 /usr/bin/ld: 找不到 -llibcommon.so 收集

  • 我的应用程序需要libpq、paho mqtt库和mqtt代理。我已将它们安装并构建在我的应用程序的单独文件夹中。当我试图使用“make”命令构建我的应用程序时,我遇到了/usr/bin/ld:cannotfind-lpq错误。如何将应用程序目录链接到libpq库?