cflags ‘-Wl, -export-dynamic’ contre les drapeaux de l’éditeur de liens ‘-export-dynamic’

J’ai compilé le même programme (pas de bibliothèque) avec différents drapeaux de compilation, dans CMake avec Clang

  1. avec CMAKE_C_FLAGS = -Wl, -export-dynamic
  2. avec CMAKE_EXE_LINKER_FLAGS = -export-dynamic

Mais j’ai remarqué que la deuxième façon ne semble pas fonctionner. Je ne trouve pas les symboles exportés. Je suis tellement surpris que seule la 1ère voie fonctionne. Je ne sais pas si les compilateurs C font quelque chose de compliqué, de Clang ou de CMake. Mais comment laisser la deuxième voie fonctionner? La première façon imprimer beaucoup de mises en garde.

Fournir les mêmes options pour la deuxième variante.

set (CMAKE_EXE_LINKER_FLAGS “-Wl, -export-dynamic”)

Parce que le compilateur et l’éditeur de liens sont les mêmes dans votre cas.