如何从Visual Studio命令提示符链接头文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Visual Studio命令提示符链接头文件?相关的知识,希望对你有一定的参考价值。

我正在尝试编译并链接以下源和头文件

由source.c

#include <stdio.h>
#include "source.h"

int main(void)
{
    three_lines();

    return 0;
}

source.h

 void three_lines(void);

使用如下所示的命令。

 cl /W4 /EHsc source.c /link source.h

但是我收到以下错误。

 Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26433 for x86
 Copyright (C) Microsoft Corporation.  All rights reserved.

 source.c
 Microsoft (R) Incremental Linker Version 14.14.26433.0
 Copyright (C) Microsoft Corporation.  All rights reserved.

 /out:source.exe
 source.h
 source.obj
 source.h : fatal error LNK1107: invalid or corrupt file: cannot read at 0x61

有人可以指导我如何解决这个问题吗?

提前谢谢了。

答案

/link选项用于将目标文件链接在一起。你有一个头文件。这不会被链接,而是包含在内。当您使用#include "source.h"时,预处理器会自动执行此操作。

摆脱/link选项,它应该编译。

以上是关于如何从Visual Studio命令提示符链接头文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Visual Studio 2019 开发人员命令提示符禁用 /Qspectre

如何在命令行中使用 Visual Studio 编译 x64 代码?

gnuplot Makefile 找不到从 Visual Studio 2010 命令提示符编译的 gd.h

如何在 Windows 10 中从命令行构建 Visual Studio 2015 vb 解决方案

将PowerShell用于Visual Studio命令提示符

将 PowerShell 用于 Visual Studio 命令提示符