sha*_*oth 5 c c++ linker visual-c++
我正在尝试将一组.c文件从开源项目编译成静态库.我已经创建了一个VC++ 9项目文件,像往常一样设置所有内容.我将两个.c文件添加到项目中.它们没有任何特殊的编译设置 - 所有设置都在项目级别设置并设置为默认值,但我关闭了预编译的标题.
我按"构建项目" - VC++说"完成",创建了两个.obj文件和一个.lib文件,但是生成的.lib文件中没有来自其中一个.c文件的函数.
如果我#error在两个文件中的一个文件的最开头添加VC++就会停止编译和报告.但是如果我对其他文件执行相同操作,它只是静默编译并且不报告错误,因此它显然不会编译文件,这就是函数无法访问.lib文件的原因.
现在我想如果我添加一些文本(比如#error)作为.c文件的第一行,编译器会看到它,无论任何预处理器设置,编译器选项等等.但我有一个文件log.c:
#error
whatever text follows
Run Code Online (Sandbox Code Playgroud)
和Visual C++报告:
1>------ Build started: Project: MyProject, Configuration: Debug Win32 ------
1>Compiling...
1>log.c
1>Build log was saved at "file://whatever\Debug\BuildLog.htm"
1>MyProject - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)
编译器发生了什么,如何让它改变主意?
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |