老问题:Kylix编译出的程序不能独立运行 (200分)

  • 主题发起人 主题发起人 xinhe
  • 开始时间 开始时间
X

xinhe

Unregistered / Unconfirmed
GUEST, unregistred user!
看了一些答案,好象都不能真正解决,编译出来的程序不能脱离Kylix运行,有的朋友
说指定库的位置,但如果要在别的没装Kylix的机器上运行该怎么做呢?要打包哪些
库文件,要怎么进行编译选项设置?请详细说一下好吗?多谢了:
错误信息(编译一个自动生成的空白窗口):
./Project1: relocation error: ./Project1: undefined symbol: initPAnsiStrings
 
这里有篇文章说的比较详细,你看看,也许有帮助
http://www.efg2.com/Lab/Library/Kylix/deployment.htm
 
由于Kylix编译后的可执行文件要能正常运行,必须正确地用到共享库文件(大都在Installed Path下的bin目录里,一般以.so做后缀),
所以要在/etc/ld.so.conf里添加共享库所在路径或指定LD_LIBRARY_PATH环境变量去到相应共享库所在路径加载所需程序,
LD_LIBRARY_PATH可在/etc目录下的bashrc或profile文件里设置。
ld.so.conf、bashrc和profile这三个文件都在/etc目录下,需要有root权限的用户才能修改它们,所以用如下命令转到root:
# su
然后分别用vi或其他文本编辑器去编辑这三个文件。
在/etc/ld.so.conf里加上一行,即Kylix共享库所在的路径:
/home/yourname/kylix3/pro/bin
然后存盘退出。
在/etc/bashrc和/etc/profile里都同样加上相同的三行:
export LD_LIBRARY_PATH=/home/yourname/kylix3/pro/bin:$LD_LIBRARY_PATH
export LC_ALL=zh_CN
export LANG=zh_CN
即指定LD_LIBRARY_PATH环境变量到共享库所在路径,
并使得以后编译出来的程序显示的界面支持中文。
然后存盘退出。
执行下面的命令,使设置生效:
# ldconfig
退出root:
# exit
 
多人接受答案了。
 
后退
顶部