VS2012上,怎么设置项目,以让编译出的目标文件保持文件路径

VS2012下,如何设置项目,以让编译出的目标文件保持文件路径?
本帖最后由 liuchao35758600 于 2013-02-22 10:49:42 编辑
如题,有个项目,里面有很多个源文件,这些源文件,有若干个源文件的文件名相同,但在不同的目录下,例如:
src/thread/win32.c
src/video/win32.c
src/sound/win32.c
src/input/mouse/win32.c
src/input/keyboard/win32.c
但用VS2012进行编译,它会把所有已编译的obj文件放在同一目录下,像这样:
Release/win32.obj
Release/win32.obj
Release/win32.obj
Release/win32.obj
Release/win32.obj
这会导致出现警告:warning LNK4042: 对象被多次指定;已忽略多余的指定
而编译出的静态库 里就没有其他win32.c里的函数了。

请问,可不可以通过设置,让VS2012编译出的obj文件保持和源文件一样的路径?例如:
Release/thread/win32.obj
Release/video/win32.obj
Release/sound/win32.obj
Release/input/mouse/win32.obj
Release/input/keyboard/win32.obj
或者,加个前缀名也行:
Release/thread_win32.obj
Release/video_win32.obj
Release/sound_win32.obj
Release/input_mouse_win32.obj
Release/input_keyboard_win32.obj
反正只要解决问题就行。

另外,编译出的静态库的体积,比 编译出的动态库的体积大很多,静态库10MB左右,而动态库才几百KB。

昨天百度搜索关于这静态库和动态库的问题,搜索到CSDN上,回帖者都把提问者的问题当成:静态链接的可执行文件 的体积 比 动态链接的可执行文件的体积 大。本人顿时无语。
VisualStudio C 项目 源代码 函数库

------解决方案--------------------
mv  src/thread/win32.c          src/thread/thread_win32.c
mv  src/video/win32.c           src/video/video_win32.c
mv  src/sound/win32.c           src/sound/sound_win32.c
mv  src/input/mouse/win32.c     src/input/mouse/mouse_win32.c
mv  src/input/keyboard/win32.c  src/input/keyboard/keyboard_win32.c

------解决方案--------------------
名字后加个后缀不好吗?