makefile - 尽管包含和 lib 规范 g++ 找不到库
问题描述
我试图构建我的 sfml 程序,所以我写了这个 makefile:
SFML = /usr/local/Cellar/sfml/2.5.1_1
JSONCPP = /usr/local/Cellar/jsoncpp/1.9.4_1
INCFOLDER = -I ${SFML}/include -I ${JSONCPP}/include
LIBFOLDER = -L ${SFML}/lib -L ${JSONCPP}/lib
CC = g++
STD = -std=c++11
ALIAS = -o sfml
LIBS = -l libsfml-audio.2.5.1.dylib -l libsfml-graphics.2.5.1.dylib -l libsfml-network.2.5.1.dylib -llibsfml-system.2.5.1.dylib -l libsfml-window.2.5.1.dylib
LIBS+= -l jsoncpp.24.dylib
MAIN = main.cpp
exe:
${CC} ${MAIN} ${INCFOLDER} ${LIBFOLDER} ${LIBS} ${ALIAS} ${STD}
我在 mac 上,我通过 brew 安装了这些库,所以它们安装在 /usr/local/cellar 中。
我用 -I 指定了包含文件夹,用 -L 指定了 lib 文件夹,然后是我将其名称复制粘贴到位的单个库。
这个make文件有什么问题?我无法理解......
这是错误:
g++ main.cpp -I /usr/local/Cellar/sfml/2.5.1_1/include -I
/usr/local/Cellar/jsoncpp/1.9.4_1/include -L /usr/local/Cellar/sfml/2.5.1_1/lib -L /usr/local/Cellar/jsoncpp/1.9.4_1/lib -l libsfml-audio.2.5.1.dylib -l libsfml-graphics.2.5.1.dylib -l libsfml-network.2.5.1.dylib -llibsfml-system.2.5.1.dylib -l libsfml-window.2.5.1.dylib -l jsoncpp.24.dylib -o sfml -std=c++11
ld: library not found for -llibsfml-audio.2.5.1.dylib
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [exe] Error 1
解决方案
推荐阅读
- python - Python - 从列表中生成矩阵
- c# - 我想编写一个脚本,我可以将 name 变量用于统一 2d 中的另一个场景
- pip - 在 Raspberry Pi 中安装 Apache Beam 时出现 pyarrow 错误
- sql - 从联接更新列失败
- spring-boot - Spring cloud sleuth 注解:自动装配不起作用
- php - 如何在 Akeneo PIM API 搜索中获取产品数量
- c# - 无法在 C# .cs 文件中检索 ASP.NET webform 的选定下拉列表值
- jms - 在 Gatling 中发送 JMS 消息,但未收到回复 - 我哪里出错了?
- c++ - 如何在一个合并单元格中设置多个复选框?
- angular - 无法设置未定义的属性“http”-Angular 单元测试