Включая библиотеки C ++ - PullRequest
1 голос
/ 15 мая 2010

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

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

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

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

Ответы [ 3 ]

2 голосов
/ 15 мая 2010

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

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

1 голос
/ 15 мая 2010

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

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

0 голосов
/ 26 февраля 2012

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

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

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

И это решило проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...