【发布时间】:2015-01-06 12:28:47
【问题描述】:
我有以下代码:
gcc -Wall -fno-stack-protector -O2 -g -fPIC -c ec.c
pwd
gcc -shared -Wl,-soname,libec.so.1 -o libec.so.1.0 ec.o /urs/src/soem/ethercat*.o ../soem/nicdrv.o -lc -lpthread
mv libec.so.1.0 /usr/lib/.
cd /usr/lib
ldconfig -v -n
ln -sf libec.so.1.0 libec.so
ln -sf libec.so.1.0 libec.so.1
编译时出现如下错误:
/home/ebox/Documents/SVN/Libs/ec
gcc: error: /urs/src/soem/ethercat*.o: No such file or directory
mv: cannot stat ‘libec.so.1.0’: No such file or directory
我知道 gcc 命令有问题,但不知道如何解决这个问题。路径中有几个以 ethercat* 开头的 .o 文件。
我怎样才能解决这个问题?
【问题讨论】:
-
来自
gcc的消息应该很清楚:它找不到任何名为/urs/src/soem/ethercat*.o的文件。另一个错误是因为gcc无法链接到您的库,所以它不存在。至于为什么找不到文件,再检查一下路径的拼写(提示:我怀疑你有目录/urs)。 -
检查
/urs/src是否为/usr/src -
`/usr/src/soem' 路径中有几个.o 文件以ethercat 开头,所以我不明白为什么找不到文件。
-
我明白了,这很明显。我要把它改成正确的路径。非常感谢!