http://topic.csdn.net/t/20041208/15/3626852.html
http://topic.csdn.net/t/20050713/18/4142555.html
在做一个带资源的静态库,搜了几篇帖子,发现一个叫DentistryDoctor的高手说的有戏,不知道人还在不在,05年的帖子啊,详细说明一下,怎样连接两个res文件呢?
http://topic.csdn.net/t/20050713/18/4142555.html
在做一个带资源的静态库,搜了几篇帖子,发现一个叫DentistryDoctor的高手说的有戏,不知道人还在不在,05年的帖子啊,详细说明一下,怎样连接两个res文件呢?
1. 找到你static library中Debug或Release临时文件夹,应该有xx.res文件,这是你的rc编译之后生成的
2. 使用VC自带的命令行工具cvrres将此res文件转成一个obj
3. 转到你的EXE工程下,将obj直接添加到源文件中或者命令行手工linkString Table Resource测试通过。
假设静态库为a.lib 资源为 r.res 最终生成c.exe
则只能在c工程里,调用a.lib中的接口,传入当前的资源所在模块句柄,如果总是确定res被编译到exe中,则可以在lib中写死取当前运行模块的句柄。每一个win 32可执行程序在vc中编译时,主要由3部份构成,源码、lib文件、rc文件
源码最终编为.obj文件,lib是编译好的obj的集合包(也有可能是dll的导出函数,考虑你的情况为静态包),rc被编为res文件,
然后通过link把这3者链结为一个可执行文件。
如link a.obj b.obj c.lib d.lib e.res f.res
试过将res转成的obj手工命令行lib到static library中,EXE再去依赖static library,发现找不到资源
试过将res转成的obj手工命令行lib到static library中,EXE再去依赖static library,发现找不到资源
Test.lib Test.res
[email protected]楼上cnzdgs说的直接添加.res文件到Link我试过,会出现一个连接警告
Linker Tools Warning LNK4059
resourcefile already specified; additional resource file ignored
Only one resource file is allowed. The first .RES file specified in the command was used.
结果还是找不到资源,可以链接两份res文件吗?