c++: как открыть файл из директории share/app_name?

262
28 марта 2017, 13:52

Предположим есть программа, которой для работы нужен файл, расположенный в паке share/app_name. Если у нас INSTALL_PREFIX=/usr, то файл соответственно будет лежать в /usr/share/app_name/. Но как быть если префикс не стандартный? Как указать в коде путь к файлу, расположение которого известно только в момент компиляции? Если можно передать компилятору переменную префикса установки, то как ее использовать в самом коде(c/c++)?

Answer 1

Что ж, получилось сделать подставление пути установки с помощью странной конструкции из макросов

#define F(X) #X
#define TO_STRING(X) F(X)

а затем в нужном месте TO_STRING(PREFIX), собирается с флагом -DPREFIX=${INSTALL_PREFIX}

READ ALSO
Вставка массива с заданной позиции: [требует правки]

Вставка массива с заданной позиции: [требует правки]

Вставить массив в другой массив, начиная с заданного индекса

365
enum или boolean члены класса что лучше?

enum или boolean члены класса что лучше?

Продолжаю штудировать самоучитель Шилтда и обратил внимание что в одном из своих примеров он объевляет enum список для членов класса, которые...

266
Фильтрация на web-ресурсе с помощью JS

Фильтрация на web-ресурсе с помощью JS

Мне необходимо сделать фильтрацию по авторам статей на новостном порталеДолжен быть один пункт с undefined фильтром для отображения статей,...

253
Как пропустить один из параметров?

Как пропустить один из параметров?

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

279