更新:2007 年 11 月
如果创建调试库时使用预编译头且生成失败,则使用它。
/Ylsymbol
参数
- symbol
要存储在对象模块中的任意符号。
备注
当用 /Yc 和 /Ylsymbol 编译模块时,编译器创建类似于 __@@_PchSym_@00@...@symbol 的符号,并将它存储在对象模块中,其中省略号 (...) 表示链接器生成的字符字符串。用此预编译头编译的任何源文件都引用指定的符号,这导致链接器包括对象模块及其在库中的调试信息。
使用此选项,可能生成 LNK1211。当指定 /Yc(创建预编译头文件) 和 /Z7、/Zi、/ZI(调试信息格式) 选项时,编译器创建包含调试信息的预编译头文件。当将预编译头存储到库中,使用该库生成对象模块,且源代码不引用预编译头文件定义的任一函数时,可能出错。
若要解决此问题,当创建不包含任何函数定义的预编译头文件时,请指定 /Ylsymbol,其中 symbol 是库中任意符号的名称。此选项指示编译器将调试信息存储在预编译头文件中。
有关预编译头的更多信息,请参见:
在 Visual Studio 开发环境中设置此编译器选项
打开此项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页。
单击“C/C++”文件夹。
单击“命令行”属性页。
在“附加选项”框中键入编译器选项。
以编程方式设置此编译器选项
- 请参见 AdditionalOptions。