Visual Studio - добавление библиотеки netCDF

Я хочу использовать форматы netCDF в C-проекте с использованием Visual Studio Express 2013 на 64-битной Windows. Я скачал установочный файл с официального сайта и запустил.exe.

Затем я заглянул в этот пост, чтобы узнать, как я должен выполнять связывание и т. Д. Более конкретно, в моем проекте в Visual Studio я сделал следующее:

  1. Положил #include < netcdf.h >
  2. в каталогах VC++, каталогах библиотек я добавил C:\Program Files (x86)\netCDF 4.3.3.1\lib; C:\Program Files (x86)\netCDF 4.3.3.1\bin;
  3. в каталогах VC++, в том числе в каталогах, я добавил C:\Program Files (x86)\netCDF 4.3.3.1\include; C:\Program Files (x86)\netCDF 4.3.3.1\bin;
  4. в компоновщик>input>Additional Dependencies я добавил netcdf.lib (и все остальные.lib файлы, которые я нашел в папке \ lib на netCDF 4.3.3.1
  5. Поместил все.dll файлы из папки \ bin в netCDF 4.3.3.1 в Windows\System32 и Windows\SysWOW64

Однако, когда я запускаю проект (F5), он дает следующие 2 ошибки:

  • ошибка LNK2019: неразрешенная внешняя переменная symbol_nc_strerror, на которую ссылается функция _main
  • ошибка LNK1120: 1 неразрешенная внешняя -> которая, я полагаю, связана с первой ошибкой.

Я почти полностью новичок в программировании на C и Visual Studio. Может ли кто-нибудь помочь?

Заранее спасибо!

1 ответ

Решение

Я наконец получил это, работая с помощью других. Вот (подробные) шаги, которые работали как для Visual Studio 2010, так и для Visual Studio 2013.

У меня 64-битная Windows-машина, но я использовал версию 4.3.3.1 (32-битную) netCDF. Причина, по которой я выбрал 32-разрядную версию, заключалась в том, что 32-разрядный код может выполняться как на 32-, так и на 64-разрядных компьютерах. В целом весь параметр состоит из трех частей: установка библиотеки, настройка переменных среды для вашего компьютера и настройка свойств для Visual studio.

Ниже приведены пошаговые настройки на моем компьютере.

1. Библиотека netCDF была установлена ​​в C: \ Program Files (x86) \ netCDF 4.3.3.1

2. Перейдите в "Компьютер", щелкните правой кнопкой мыши и выберите "Свойство" -> "Дополнительные параметры системы" -> перейдите на вкладку "Дополнительно" -> нажмите "Переменные среды" -> В поле "Системные переменные" найдите переменную называется "Путь", затем нажмите "Редактировать" -> Добавить следующее к текущим переменным пути (";" используется для разделения переменных):

; C: \ Program Files (x86) \ netCDF 4.3.0 \ bin;

3. Перейдите в Visual studio -> Проект -> Свойства -> Нажмите "Каталоги VC++" (одно из свойств конфигурации) -> Отредактируйте значение поля "Включить каталоги", добавив "C:\Program Files %28x86%29\".NETCDF 4.3.3.1\include' -> Отредактируйте значение "Библиотечные каталоги", добавив "C:\Program Files %28x86%29\netCDF 4.3.3.1\lib"

  1. (все еще в Свойствах) Перейдите в Linker / General (другие Свойства конфигурации) -> убедитесь, что в поле "Включить инкрементное связывание" указано "Нет" -> Изменить "дополнительные каталоги библиотеки", добавив следующие два пути:

C:\Program Files %28x86%29\netCDF 4.3.3.1\lib C:\Program Files %28x86%29\ netCDF 4.3.3.1 \ bin

  1. (все еще в компоновщике) -> щелкните по компоновщику / вводу -> отредактируйте "Дополнительные зависимости", добавив "netcdf.lib".

  2. Настройка свойств завершена. В коде C/C++ вам просто нужно включить библиотеку netcdf, используя

включают

Обратите внимание, что для более старой версии 4.3.0 также включены другие каталоги (deps / shared). Они больше не перечислены отдельно в более новой версии 4.3.3.1, но добавлены непосредственно в каталоги \ bin и \ lib.

Другие вопросы по тегам