我需要制作一个具有以下要求的程序:
- 独立(无需安装)
- 针对尺寸进行了优化
- Windows XP 兼容
问题在于,例如添加#include <d3dx9.h>
和使用单个函数会使可执行文件大小增加 370kb。
有什么方法/工具,所以如果我只使用库的几个函数,它不会完全链接到可执行文件中?
我尝试了以下但没有成功
- 发布模式
- 整个程序优化
- 最小化尺寸 (/O1)
- 偏爱小代码(/Os)
- /选择:参考
- /选择:ICF
- 使用链接时间码生成 (/LTCG)
这是测试代码(我使用的是 2004 年 10 月的 d3dx 版本,它允许在此处找到静态链接https://github.com/kavika13/jumpmanzero-thirdparty)
#pragma comment (lib, "d3dx9.lib")
#include <d3dx9.h>
int main() {
D3DXCreateSphere(0, 0, 0, 0, 0, 0);
return 0;
}
注意:应该注意的是,使用同一个库的更多功能会增加相同的 ~370Kb。