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

302
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
Вставка массива с заданной позиции: [требует правки]

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

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

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

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

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

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

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

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

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

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

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

323