如何将静态库链接到Linux中的Makefile
how to link static library to makefile in linux
我已经使用数据库makefile project/database/makefile 创建了一个静态库
rm -rf libdatabase.a
database.o: database.cpp database.h
g++ -c -o database.o database.cpp
ar rvs libdatabase.a database.o
if [ -f libdatabase.a ];
then
echo "Database-Library Build Success"
cp libdatabase.a ../LIBs/
else
echo "databse-Library Build Failure"
fi
然后,我将在Main Make File Project/Main/MakeFile 中链接它
rm -rf testdate
INCPATH = -I../database
LIBPATH = -L../LIBs
testdate:main.o libdatabase.a
g++ -o testdate libdatabase.a main.o
main.o: main.cpp database.h
g++ -c -o main.o main.cpp
但是它的投掷错误如下:制作:*没有规则来制作目标database.h', needed by
main.o'。停止。
plese一些Coluld为我提供了帮助。我是Linux的新手。
在LIBPATH
变量分配结束时,您的makefile中有额外的后斜线。这导致下一行(testdate:...
目标)被视为LIBPATH
变量值的一部分。这又意味着之后的配方行(g++ -o testdate ...
行)没有定义目标,这就是为什么您会遇到该错误。
删除后斜线:
LIBPATH = -L../LIBs
相关文章:
- 在不使用系统的情况下从C++应用程序格式化 Linux 中的 SD 卡
- createFile() 和 DeviceIoControl() 等效于 Unix/Linux 中的卷设备
- 将静态库链接到 gcc Linux 中的动态实验室
- Openmp Linux 中的分段错误
- C++ Linux 中的线程无限期地等待
- Linux 中的信号处理程序使用 sigaction (C++)
- 将托管事件处理程序传递给 Linux 中的非托管代码
- Fedora Linux 中的进程
- 调试从 Linux 中的另一个C++应用程序启动的 python 脚本
- 如何改善Linux中的SSD I/O吞吐量并发
- C++ Linux 中的可执行登录
- 如何通过C/C 设置Linux中的IRQ优先级
- Linux中的SDL2空透明窗口
- 在.c文件接收函数中使用Linux中的MSGGET创建消息队列未实现错误
- Linux 中的 C++ 模板编译错误
- Windows 和 Linux 中的 USB Serial 之间的区别
- C++中的程序如何使用"系统"变量与 Linux 中的 shell 脚本交互?
- 无法在 matlab 中的 UDP 客户端和 Linux 中的服务器之间发送数据
- Linux中的C 流界面
- 当磁盘几乎完整时,使用C 流式播放器复制Linux中的文件也不例外