c++ - 如何修复 ld:警告:选项 -s 已过时并被忽略
问题描述
我正在制作一个发布 mod makefile 但有一个错误(我在 macos big sur 上):ld:警告:选项 -s 已过时并被忽略
g++ -c src/*.cpp -std=c++17 -m64 -O3 -Wall -I include && g++ *.o -o bin/debug/Debug -s && ./bin/debug/Debug
解决方案
正如警告所告诉您的-s
,您的makefile正在传递给g ++的选项:
... && g++ *.o -o bin/debug/Debug -s && ...
here: ^^
不再做任何事情。因此,您只需将其从脚本中删除,警告就会消失。警告来自ld
因为g++
将编译过程的一部分委托给它。
如果您仍想从生成的二进制文件中删除符号表,则需要使用单独的工具(例如strip
.
推荐阅读
- matlab - 点在matlab中从一个角落移动到另一个角落(围绕显示器)
- c# - 如何统一显示游戏结束场景的得分和高分?
- node.js - docker-compose up:致命:数据库“样板”不存在(Postgres 节点)
- python - 计算字符串中的空格
- r - 如果“实验室(填充=)”不起作用,如何更改 ggplot2 中的图例标题?
- sql - 字符集和国家字符集oracle之间的区别?
- r - 使用刚刚在 data.table 中创建的变量的值
- react-native - withTheme 不是函数反应本机错误
- android - 如何更改 Gradle 脚本中的名称,上面写着 nestoruk_47554 但我需要用我的来更改它
- redis - 用于检查和打印数字是偶数还是奇数的 Lua 代码