Включение соответствующих библиотек повышения с источником C++ (Используя Visual Studio)

Переместите эти утверждения:

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

перед любым другим утверждением внутри onCreate().
Любой метод findViewById(), который вы используете для инициализации своих представлений, должен называться после , если разметка раздувается, в противном случае представления являются null.

5
задан Ferruccio 24 October 2008 в 01:20
поделиться

6 ответов

Это зависит от библиотеки, которой Вы пользуетесь. Если Вы пользуетесь библиотекой только для заголовка (большинство библиотек повышения, некоторые существенные исключения являются сигналами, сериализацией и датой/временем), можно просто скопировать те заголовочные файлы. Иначе необходимо будет скопировать cpp файлы, также. Мое предложение состоит в том, чтобы просто включать их в Ваш проект.

Так, вот то, что Вы делаете: Вы удаляете повышение, включают путь от Ваших настроек проекта (инструмент-> опции-> проекты и решения-> vc ++, каталоги-> включают файлы). Попытайтесь скомпилировать. Взгляд, которые включают сбои. Скопируйте тот файл от своего каталога повышения до Вашего каталога проекта. Пена, промывка, повторяется до Ваших компиляций проекта.

Если Вы будете пользоваться библиотекой, которая требует .cpp файлов, то Вы получите ошибку во время ссылки. Скопируйте все .cpp файлы библиотеки, которой Вы пользуетесь к своему каталогу проекта и добавляете их всех к своему решению. Восстановите и скрестите пальцы.

Для более подробного ответа отправьте, какими библиотеками Вы пользуетесь.

5
ответ дан 13 December 2019 в 22:19
поделиться

Попытайтесь назвать BCP с этой командой:

"c:\Program Files\boost\boost_1_34_1\bin\bcp.exe" --boost="c:\Program Files\boost\boost_1_34_1" regex regex

--boost говорит BCP, где повышение установлено, первое regex название модулей, вторым является целевой каталог.

О, и если Вы уже не заметили, существуют make-файлы Visual C++ в libs\regex\build\.

2
ответ дан 13 December 2019 в 22:19
поделиться

На основе Вашего комментария, что Вы используете regex, вот то, что Вы делаете: загрузите 'нормальный' zip-файл распределения повышения. Разархивируйте его где-нибудь. Перейдите к libs/regex/src. Скопируйте и вставьте все .cpp файлы в том каталоге к Вашему каталогу проекта. Добавьте их к своему проекту Visual Studio (щелкните правой кнопкой, 'добавьте'-> 'существующий объект'). Затем перейдите к boost/regex и скопируйте все там (заголовочные файлы) к Вашему каталогу проекта (включая подкаталоги). Измените все включение в свой собственный .cpp и.h файлы от #include до "regex.hpp" так, чтобы это включало заголовки из Вашего локального каталога и не тех, которые были установлены в масштабе всей системы. Удостоверьтесь, что удалили в масштабе всей системы, включают путь от Ваших настроек проекта как, я сказал в своем последнем сообщении.

Затем скомпилируйте свой код. Вы доберетесь, много 'пропавших без вести включают файл' ошибки, потому что regex зависит от других библиотек повышения. Повторите целый процесс: перейдите к boost/xxx, где xxx является библиотекой, которую ищет regex. Можно вывести библиотеку из сообщения об ошибке. Скопируйте все, что просит компилятор к Вашему собственному каталогу проекта. Вы, возможно, должны играть немного с Вашим расположением каталога, прежде чем оно будет работать. Это - действительно пошаговый подход, где каждый шаг является тем же: определите недостающий файл, скопируйте его, посмотрите, включает ли это, найден и зафиксирован, и продолжите следующий шаг. Это - растачивание, я боюсь.

Вы могли автоматизировать это все с BCP, но для одноразового проекта как школьный проект я не обеспокоюсь; только если Вы думаете, что у Вас будут будущие проекты, которые потребуют, чтобы Вы поставили автономный zipfile.

2
ответ дан 13 December 2019 в 22:19
поделиться

Это кажется немного нечетным мне. Если Вы распределяете исходный код, то люди, к которым Вы являетесь распределительными, должны смочь установить повышение. Затем, если у них уже есть повышение, нет никакого дублирования и беспорядка, или если они не сделают и Вам нужна созданная библиотека, то они создадут корректную библиотеку для своей системы. Если бы люди, Вы являетесь распределительными, не до установки повышения, то я предложил бы, чтобы распределительные двоичные файлы в пакете установки сделали его максимально легким для них.

1
ответ дан 13 December 2019 в 22:19
поделиться

Я столкнулся с этим прежде, встроив повышение в мои проекты. Каждая отдельная библиотека повышения идет с различными файлами проекта для создания с различным, делают системы (Затор, сделайте, Visual Studio 6...), но они никогда не являются настолько великими с более новыми версиями VS.

Я всегда предпочитаю создавать новый файл проекта и встраивать повышение непосредственно в мой проект. Это довольно просто, просто необходимо добавить все исходные файлы и установить опции проекта правильно. Существует один протест, однако, и это - Вы, должен назвать выходной файл библиотеки, как повышение делает, потому что их включать файлы зависят от этого.

После того как Вы сделали это, можно распределить библиотеки повышения точно так же, как любые другие файлы в проекте.

0
ответ дан 13 December 2019 в 22:19
поделиться

Это такая PITA для компиляции boost; только мотивированные студенты смогут это сделать. Вы рассматривали возможность объединения установщика?

0
ответ дан 13 December 2019 в 22:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: