2010-10-13 21 views
13

¿Qué enlazador uso para clang? Si utilizo clang o ld como un enlazador, obtengo grandes cantidades de errores como si no tuviera un vínculo con la biblioteca estándar.Enlazador para Clang?

g ++ $ (OBJS) -o $ (BINDIR)/obtap

Parece que tengo que usar g ++ con el fin de vincular los objetos de mi clang.

Respuesta

21

Estaba ejecutando 'clang' en lugar de 'clang ++', lo que significa que no enlazaba la biblioteca estándar de C++.

3

No tiene que usar el editor de enlaces de llvm. Evitaré entrar en los detalles técnicos, pero, en resumen, necesitará tener un editor de enlaces UNIX típico para usar Clang en este momento (léase: GNU ld o Sun ld). Incluso llvm-ld usa el enlazador de la plataforma subyacente para vincular binarios nativos.

3

Seguimiento: es ahora 2016, y llvm ha hecho un progreso constante en su propio vinculador. Se llama "lld", y the website is here. Funciona bien para crear binarios i386 y x86_64, mientras que el trabajo está en curso para apuntar a otros sistemas.

Esto debería eliminar la dependencia de las herramientas GNU para BSD, una vez que se considera lo suficientemente estable.