Я новичок в Windows и Visual Studio. Однако у меня есть сильный опыт программирования в Linux. Я пытаюсь построить (это всего лишь одно слово для компиляции и ссылки), этот пример кода из учебника. Я сделал пустой проект, добавив исходный и заголовочный файлы в проект. Код компилируется отлично. Тем не менее, я получаю все эти ошибки во время ссылки. Что происходит, так это то, что код вызывает кучу функций, которые VS не может найти. В частности все ошибкиСтроительные проекты в Visual Studio
ping.obj: ошибка LNK2019 неразрешенный внешний символ
Пример кода от CH11 или сетевого программирования для Windows. Речь идет о создании сырых сокетов для использования в программе ping. Кроме того, код поставляется с Makefile, но я не знаю, как его использовать с VS ...
Итак, в основном мне нужно знать, как просто поместить некоторый код в VS и создать его правильно. Если бы кто-нибудь мог мне помочь с этим или указать мне на достойный ресурс, я бы очень признателен.
редактировать: Я использую VS 2008 и C++
edit2: Я сделал проект Makefile и разливают в команде сборки с сл ping.cpp resolve.cpp отъезда: 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.
Я был/был в том же положении - фон в разработке Linux и порой должен использовать визуальные студии. Build does == compile и link, это обычная ошибка компоновщика, и ответ на добавление .lib, скорее всего, правильный. Кроме того, .lib! = .dll, и эта разница несколько раз путала меня. – Voltaire
И для будущей боли, обратите внимание на файлы манифеста. Если вы намереваетесь использовать библиотеки с открытым исходным кодом, вы находитесь в мире развлечений;) – Voltaire
Да, я заметил * .exe.manifest. (Что-то я не помню), и я понятия не имею, что это такое. – devin