只能在bin目录执行
/home/kdxfTTS/bin/tts_offline_sample 我是老大 1111111111.wav 这个只能在bin下面运行,而不能在/root 下面执行 是为什么呢,动态库也 cp /tmp/xunfei/libs/x64/libmsc.so /usr/lib/ ldconfig了 ,是不是没有全局引入动态库libmsc.so
只能在bin目录执行
/home/kdxfTTS/bin/tts_offline_sample 我是老大 1111111111.wav 这个只能在bin下面运行,而不能在/root 下面执行 是为什么呢,动态库也 cp /tmp/xunfei/libs/x64/libmsc.so /usr/lib/ ldconfig了 ,是不是没有全局引入动态库libmsc.so
首先要理解,编译后,生成得是一个可执行得二进制文件。
而这个二进制文件,可能依赖了一些第三方得动态库,比如so。
(你可以试试,如果是简单得c代码,不依赖其他一些第三方库,编译后可以在任何目录下运行,为什么呢? 是因为系统有个环境变量,会默认去环境变量下指定的目录下寻找一些依赖需要的系统库或者so,从而能运行)
而你的可执行程序,移动后就无法运行,可能就是依赖一些第三方库,操作系统找不到。
两种方法:
1:可以把依赖的第三方库,以及第三方库依赖的其他库,都拷贝到这个目录,一起执行,可能问题多,因为第三方库依赖第三方库依赖底层库,有点多。
2:可以把你依赖的第三方库的路径,加入到环境变量中,这样你在执行时,系统就会自动去环境变量指定的目录去找~
去了解一下环境变量~