我正在尝试依赖于FTDI库来编译.so
文件。我不确定如何包括该库,以便正确编译。 (以下是我的最佳猜测)。这可能还是有其他解决方法?
shared: pldevice pldeviceenttecpro pluniverse
$(CC) -shared -Wl,-soname,libplanklight.so -o libplanklight.so\
-L/usr/local/lib -lftd2xx \
pldevice.o pldeviceenttecpro.o pluniverse.o
编辑:这是输出:
g++ -fPIC -c pldevice.cpp
g++ -fPIC -c pldeviceenttecpro.cpp
g++ -fPIC -c pluniverse.cpp
g++ -shared -Wl,-soname,libplanklight.so -o libplanklight.so\
-L/usr/local/lib -lftd2xx \
pldevice.o pldeviceenttecpro.o pluniverse.o
/usr/bin/x86_64-linux-gnu-ld: cannot open output file libplanklight.so-L/usr/local/lib: No such file or directory
collect2: error: ld returned 1 exit status
Makefile:5: recipe for target 'shared' failed
make: *** [shared] Error 1
答案 0 :(得分:4)
您缺少空格。
$(CC) -shared -Wl,-soname,libplanklight.so -o libplanklight.so \
^^
Add a space here
\只是使命令在下一行继续,所以当您拥有
-o libplanklight.so\
-L/usr/local/lib
它将与-o libplanklight.so-L/usr/local/lib
但是您想要-o libplanklight.so -L/usr/local/lib