Ich möchte cl.exe
eine c
Anwendung mit visual-studio
Build-Tool erstellen, indem nmake
ähnlich wie make
in **NIX
Systeme aufrufen. Ich habe eine makefile
geschrieben. Es kann include
Dateien und object
Dateien für die Verknüpfung nicht finden. Ich konnte nicht viel Referenz finden, wie man Bibliotheken verbindet.Wie Make-Datei schreiben (nmake) für Visual Studio Build-Tool cl.exe
CC=cl.exe
INC=-I../include
LIB=-L../lib
socket: socket.c
$(CC) socket.c $(INC) $(LIB) -lssl -lcrypto
Ausgang
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.
Verwenden Sie die Visual Studio Konsolenfenster lesen mögen, die die Umwelt einrichtet Variablen wie die Include-Speicherorte. Wenn Sie ein normales Konsolenfenster verwenden möchten, verwenden Sie Visual Studio und führen Sie einen "set" -Befehl aus, um alle Einstellungen zu sehen. Bei Pfaden mit Leerzeichen in ihnen umgeben sie sie mit Anführungszeichen ("). – rcgldr
@rcgldr ruft bereits' nmake' aus dem Visual Studio-Konsolenfenster auf. Wie im Fehler 'ignoring unknown option' -L ../ lib' sind diese meine lokalen Include-Dateien, die ich in 'lib'-Ordner platziert habe.Es versteht wahrscheinlich nicht' -L' –
@rcgldr setzen doppelte Anführungszeichen macht keinen Unterschied, das gleiche Ergebnis –