zzhcpp 发表于 2007-2-24 21:18:45

c++共享库的问题

把某个.h文件的实现文件.cpp编译成.so共享库,然后再编译整个程序,编译好后,将程序和那个.so放一块,启动时提示我找不到.so文件,明明就在同一个目录,就是找不到,但在windows上将那个实现.cpp文件编译成.dll共享库,程序和.dll放一起就能运行。一切都正常,这是为什么呢?

zksunk 发表于 2007-3-5 10:48:47

环境变量的问题,linux不知道要到你当前目录下去找so文件,你要明确的设置路径
或是把库拷贝到系统默认的目录

stlxv 发表于 2007-3-9 00:18:56

你这样来执行你的程序:LD_LIBRARY_PATH=. ./your_app

hanhiver 发表于 2007-3-25 15:51:02

楼上的正解,但是为了尽可能少的影响其他软件的使用,建议使用如下命令:

LD_LIBRARY_PATH=./your_app:.:$LD_LIBRARY_PATH

zzhcpp 发表于 2007-5-2 15:56:52

谢谢各位,终于搞定了
页: [1]
查看完整版本: c++共享库的问题