2

我想通过在系统中调用类似的方式来使用构建工具构建c应用程序。我写了一个. 它找不到要链接的文件和文件。我找不到太多关于如何链接库的参考资料。visual-studiocl.exenmakemake**NIXmakefileincludeobject

CC=cl.exe
INC=-I../include 
LIB=-L../lib 

socket: socket.c
    $(CC) socket.c $(INC) $(LIB) -lssl -lcrypto

输出

D:\client>nmake

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.

cl.exe socket.c -I../include -L../lib -lssl -lcrypto
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line warning D9002 : ignoring unknown option '-L../lib'
cl : Command line warning D9002 : ignoring unknown option '-lssl'
cl : Command line warning D9002 : ignoring unknown option '-lcrypto'
socket.c
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:socket.exe
socket.obj
LINK : fatal error LNK1104: cannot open file 'Ws2_32.lib'
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe"' : return code '0x2'
Stop.
4

1 回答 1

2

cl.exe不使用库和包含文件的 gcc 语法。

这是如何指定文件的(可用但不完美)示例:

cl main.c freetype.lib gdi32.lib glew.lib jpeg.lib

您可能还想阅读如何包含在 cl.exe 中

于 2017-08-25T20:38:18.690 回答