Я новичок в Windows и Visual Studio. У меня есть большой опыт программирования в Linux. Я пытаюсь собрать (это всего лишь одно слово для компиляции и ссылки) этот пример кода из учебника. Я сделал пустой проект, добавил исходные и заголовочные файлы в проект. Код компилируется нормально. Тем не менее, я получаю все эти ошибки во время ссылки. Происходит то, что код вызывает несколько функций, которые VS не может найти. В частности, все ошибки
ping.obj: ошибка LNK2019, неразрешенный внешний символ
Пример кода взят из Ch11 или Сетевого программирования для Windows. Речь идет о создании сырых сокетов для использования в программе ping. Кроме того, код поставляется с Makefile, но я не знаю, как использовать его с VS ...
Итак, в основном мне нужно знать, как просто поместить некоторый код в VS и правильно его собрать. Если бы кто-нибудь мог помочь мне с этим или указать мне на достойный ресурс, я был бы очень признателен.
edit: я использую VS 2008 и C ++
edit2: я сделал проект makefile и заполнил команду build
cl ping.cpp resol.cpp -out: ping.exe Ws2_32.lib
теперь он говорит, что моя сборка прошла успешно, но нигде нет .exe ... arg !! Windows не имеет смысла для меня.
Вот что говорит мне:
1>------ Build started: Project: ping, Configuration: Debug Win32 ------
1>Performing Makefile project actions
1>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>cl : Command line warning D9035 : option 'o' has been deprecated and will be removed in a future release
1>ping.cpp
1>resolve.cpp
1>Generating Code...
1>Microsoft (R) Incremental Linker Version 9.00.21022.08
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>/out:ping.exe
1>/out:ut:ping.exe
1>ping.obj
1>resolve.obj
1>Ws2_32.lib
1>Build log was saved at "file://c:\Documents and Settings\Devin.DEVIN-DESK\My
Documents\Visual Studio 2008\Projects\raw_socks\ping\Debug\BuildLog.htm"
1>ping - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
edit3: это имеет смысл для меня. У меня есть два заголовка и два исходных файла, и я не могу скомпилировать и связать, что бы я ни делал. Очень простой и легкий процесс в linux запутан в Windows.