use*_*001 3 c c++ x11 linker gcc
我正在尝试编译程序,但链接失败并显示以下消息:
gcc -O2 -pipe -Wl,--导出动态 tkAppInit.o -L/home/dimitriv/ns-allinone-2.35/tk8.5.10/unix -ltk8.5 \
-L/home/dimitriv/ns-allinone- 2.35/tcl8.5.10/unix -ltcl8.5 -lX11 -ldl -lieee -lm -Wl,-rpath,/home/dimitriv/ns-allinone-2.35/lib -o 希望 /usr/bin/ld:找不到 - lX11collect2
:错误:ld返回1退出状态
但是,my$LD_LIBRARY_PATH包含安装 X11 的目录:
回声 $LD_LIBRARY_PATH
/share/apps/cim/lib:/opt/ns2/otcl-1.13:/opt/ns2/lib: /home/dimitriv/local/lib:
并且库似乎已正确安装。
ls /home/dimitriv/local/lib | ls /home/dimitriv/local/lib | grep X11
libX11.a
libX11.la
libX11.so
libX11.so.6
libX11.so.6.3.0
libX11-xcb.a
libX11-xcb.la
libX11-xcb.so
libX11-xcb.so.1
libX11-xcb.so .1.0.0
X11
为什么无法找到库并进行链接?
包含LD_LIBRARY_PATH加载程序(ld程序)用来执行程序的共享库的路径。
在编译期间,使用包含目录。在链接过程中,需要对象库。最后一种是你所缺少的。
您可能需要安装一个软件包才能获取 X11 开发库。在 Linux 上,该包称为libX11-devel. 安装,
sudo yum install libX11-devel # for Redhat, Fedora, etc.
Run Code Online (Sandbox Code Playgroud)
或者
sudo apt-get install libX11-devel # for Ubuntu, etc.
Run Code Online (Sandbox Code Playgroud)