#c #netbeans #mingw
#c #netbeans #mingw
Вопрос:
Я пытаюсь скомпилировать приложение на C с помощью Netbeans. Это первое приложение на C , которое я создал за последнее время. К моему удивлению, поскольку я настроил среду и настроил все, включая Netbeans, Mingw и Msys; проблема, с которой я столкнулся сейчас при попытке компиляции, — это ошибка file note found . В приведенном ниже сообщении об ошибке указано, что его нет, но я могу легко перейти к нему в моей файловой системе Windows, а также в Netbeans, поскольку он является частью проекта. Я не сомневаюсь, что есть какой-то простой шаг, который я упускаю из виду. Файл является частью Boost API, и его корневая папка находится в папке моего проекта, который, в свою очередь, включен в качестве исходной папки для моего проекта (в разделе Параметры).
g -c -g -MMD -MP -MF "build/Debug/MinGW-Windows/addrman.o.d" -o build/Debug/MinGW- Windows/addrman.o addrman.cpp
In file included from netbase.h:10:0,
from addrman.h:7,
from addrman.cpp:5:
serialize.h:19:48: fatal error: boost/type_traits/is_fundamental.hpp: No such file or directory
#include <boost/type_traits/is_fundamental.hpp>
Является ли это описание и сообщение об ошибке достаточной информацией? Заранее спасибо за любую помощь.
^
Комментарии:
1. Нигде вы не упомянули, какой у
include
вас путь поиска. Не имеет значения, можете ли вы найти его на своем компьютере — компилятор также должен его найти, и он не сможет этого сделать, если вinclude
пути поиска не указано, гдеboost
расположены заголовки.2. Какую конкретную библиотеку Boost вы пытаетесь использовать?
3. Версия Boost 1.55.
4. Boost — это набор из десятков независимых библиотек…
Ответ №1:
Ваш компилятор, в данном случае g , не находит файлы заголовков из-за того, что они находятся в нестандартном расположении. Вам нужно использовать -I
флаг, чтобы указать gcc, где искать включаемые файлы.
Если у вас есть каталог boost, скажем, C:librariesboost
тогда вам нужно будет добавить следующее в строку компиляции -IC:libraries
(и я бы посоветовал поместить boost в такое место, чтобы вы могли легко использовать его в нескольких проектах).
Я не использую netbeans, но я бы предположил, что есть место, где вы можете указать дополнительные включаемые каталоги (а также каталоги библиотек).
Комментарии:
1. Я попытался использовать «дополнительные параметры [командной строки]» в Netbeans: -IC: local boost_1_55_0 и это не сработало.
Ответ №2:
Вы должны сообщить NetBeans о каталоге Boost include. Откройте всплывающее окно свойств проекта, перейдите в раздел «Сборка -> Компилятор C » и добавьте каталог в строку «Включить каталоги». Это всплывающее окно должно выглядеть следующим образом: