2010-05-15 4 views
1

Как правильно включить библиотеки на C++? Я привык делать стандартные библиотеки на C++ и свои собственные .h-файлы.Включая библиотеки C++

Я пытаюсь включить wxWidgets или GTK + в код :: блоки и/или netbeans C/C++ плагин. Я включил ВСЕ библиотеки, но я постоянно получаю такие ошибки, как файл не найден, когда он явно включен в include!

Одна ошибка: test1.cpp:1:24: wx/msw/wx.rc: No such file or directory: Да, включена библиотека файлов .h; что мне не хватает?

Нужно ли мне импортировать другие вещи? Есть ли учебник для этого? Очевидно, мой учебник shoddy не подготовил меня к этому.

+1

В защиту автора вашего учебника, я не думаю, что его/ее работа, чтобы сказать вам, как настроить каждый известный компилятор ... если это не учебник о «построить WxWidgets и GTK + с gcc в 60 м или меньше! ». – Stephen

+0

Нет, но я ожидаю, что общая информация о том, где искать. – 2010-05-15 14:21:54

+0

Вы действительно создали библиотеку wxWidgets? – UncleBens

ответ

2

Во-первых, заголовочные файлы - это не то же самое, что библиотеки. Заголовок представляет собой текстовый файл на C++, содержащий декларации о вещах, а библиотека - это контейнер для скомпилированного двоичного кода.

Когда вы # включаете заголовочный файл, компилятор/IDE должен знать, где его найти. Обычно существует параметр IDE, который сообщает компилятору, где искать, или вы можете сделать это из командной строки, обычно используя ключ -I. Мне кажется, что вы не создали путь для поиска файлов заголовков в своей среде IDE.

+0

Я добавил пути библиотеки. Нужно ли мне что-то делать с компоновщиком? – 2010-05-15 14:01:19

+0

@ m00st Обычно я просто добавляю библиотеки непосредственно в проект, а не использую путь к библиотеке. – 2010-05-15 14:54:05

+0

О да? Что относительно библиотек только для заголовков? ;) – Inverse

1

Это означает, что test.cpp содержит «wx/msw/wx.rc», но этот файл не найден вашим компилятором. Как исправить это зависит от вашего компилятора, но вам нужно найти, где установлены wxwidgets, и добавить это в свой «Include Paths», чтобы ваш компилятор знал, где его искать. Вы также можете ввести более полный путь к нему в директиве include.

Если файлы присутствуют в том же каталоге, что и test1.cpp, возможно, вы используете неправильный тип include. #include <...> обычно используется для кода, который находится за пределами каталога, в котором находится ваш проект. #include "..." предназначен для включения в каталог вашего проекта (а затем, если они там не найдены, выполните поиск в тех же местах, что и #include <>).

0

Это довольно старый вопрос, и на самом деле это не отвечало мне.

Я переустановил wxwidgets в корневой каталог, так как кто-то предположил, что находиться в каталоге с пробелом в имени может быть частью проблемы.

Затем я вошел в проект> варианты сборки> каталоги поиска и удалил все записи, указывающие на первоначальную установку.

И это устранило проблему

+0

И это устранило проблему? –

+0

@Cody Grey; o). – Steve

Смежные вопросы