Что означает gcc -rpath в сочетании с -W1? - PullRequest
1 голос
/ 11 ноября 2010

Из man gcc я вижу, что -W имеет какое-то отношение к предупреждениям, но я не могу точно определить, что будет делать -W1.Я строю, используя следующий мой Makefile.am:

lib_mysqludf_ssdeep_la_LDFLAGS = -module -avoid-version -no-undefined -rpath @MYSQL_PLUGINDIR@ @SSDEEP_LIBDIR@ @SSDEEP_LIBS@

Отлично в Ubuntu, но RedHat (RHEL) выбрасывает «пути должны быть абсолютной ошибкой», поэтому после нахождения сообщения вСписок рассылки GTK Я пытался:

lib_mysqludf_ssdeep_la_LDFLAGS = -module -avoid-version -no-undefined -W1,--rpath -W1,@MYSQL_PLUGINDIR@ @SSDEEP_LIBDIR@ @SSDEEP_LIBS@

Что работает, но я не понимаю, почему, и я хотел бы выяснить, прежде чем полагаться на это в качестве исправления для моей проблемы сборки Redhat.

Обновление Похоже, что redhat не указывает путь к @ MYSQL_PLUGINDIR @ и, следовательно, -rpath не работает.

1 Ответ

1 голос
/ 11 ноября 2010

Вы уверены, что это W1, а не Wl (то есть буква el)?

Посмотрите в разделе параметров компоновщика справочной страницы gcc

...