удаление абсолютного пути в статической скомпилированной библиотеке - PullRequest
0 голосов
/ 22 мая 2018

извините, я знаю, что это повторяется и похоже на этот вопрос , но был только один ответ, который не удовлетворяет цели :)

Компиляция uamqp Библиотека довольно проста.Я заканчиваю с 2 статическими библиотеками, которые будут использоваться при компоновке в моем проекте в eclipse.Во время выполнения и при возникновении ошибки в сообщении об ошибке указывается путь, по которому статические библиотеки изначально скомпилированы.Я получаю что-то вроде этого:

Error: Time:Tue May 22 09:04:45 2018 File:/home/hostname/azure-uamqp-c/src/saslclientio.c Func:on_underlying_io_error Line:243 Error callback received in unexpected state

У меня нет проблем с сообщением об ошибке.Проблема только в том случае, когда возникает ошибка, тогда она показывает путь /home/hostname/azure-uamqp-c/saslclientio.c

Пожалуйста, как я могу скомпилировать библиотеку uamqp, чтобы не сохранялись абсолютные путивнутри?это опция команды cmake, которую мне нужно настроить?

Спасибо

1 Ответ

0 голосов
/ 22 мая 2018

Сообщение "Ошибка обратного вызова получена в неожиданном состоянии", отправляемая LogError () call и LogError macro в конце концов использует выражение препроцессора __FILE__ для ссылки на путьисходный файл.

Согласно этого ответа выражение __FILE__ раскрывается в путь, который передается в командной строке компилятора.

К сожалению, CMake всегдаиспользует абсолютные пути для исходных файлов при передаче их компилятору.Так что нет простого способа для генерации относительных путей в журналах.

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

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