Как скомпилировать и связать библиотеки повышения в Eclipse на Oracle Linux - PullRequest
0 голосов
/ 29 сентября 2019

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

Код выглядит следующим образом

#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>
using namespace std;

int main() {
    cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
    return 0;
}

Примечание для модераторов: естьмного постов на ТА, задающих подобные вопросы. Тем не менее, я не нашел тот, который полностью решил бы мою проблему (ключевым моментом, который я пропустил, было то, что мне нужно было установить boost-devel). Таким образом, я создал эти вопросы и ответы.

1 Ответ

0 голосов
/ 29 сентября 2019

Вот шаги, необходимые для компиляции вашей программы

  1. Установка boost и boost-devel

    sudo yum install boost # устанавливает библиотеки для компоновки sudo yuminstall boost-devel # устанавливает файлы заголовков, которые вы можете включить для компиляции

  2. Команда, которую вы пытаетесь заставить создать Eclipse, следующая:

    g ++ net-server.cpp -I / usr / include -L / usr / lib64 / -lboost_system

На самом деле -L/usr/lib64 не нужен, но я включаю его для читателя, поскольку он позволяетчитателю легче понять взаимосвязь между включением -l и -L/usr/lib64, которое по умолчанию включено в Oracle Linux (возможно, и RHEL).

-I /usr/include также не требуется, но оно включено длячитателю понятно, откуда берутся файлы boost/array.hpp и т. д. для этапа компиляции.

Чтобы Eclipse создал эту команду

  • Перейдите в проект> свойства
  • Выберите сборку, которую вы хотите настроить (вы, вероятно, захотите сделать это дляи сборки «Debug», и «Release», но, возможно, у вас есть только одна)
  • Перейдите в раздел «Cross G ++ Linker»> Библиотеки.
  • В разделе «Библиотеки» нажмите + и добавьте библиотеку boost_system.

Обращаю внимание, что я выбрал опцию "кросс-компиляция gcc" вместо опции кросс-компиляции Linux. Это на самом деле из версии Eclipse от Nvidia (распространяется с CUDA как «Eclipse Nsight»), поэтому инструкции для версии Eclipse, отличной от Nvidia, могут немного отличаться.

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