Come forzare gcc a colbind una libreria statica inutilizzata

Ho un programma e una libreria statica:

// main.cpp int main() {} // mylib.cpp #include  struct S { S() { std::cout << "Hello World\n";} }; S s; 

Voglio colbind la libreria statica ( libmylib.a ) all’object programma ( main.o ), sebbene quest’ultimo non utilizzi direttamente alcun simbolo del primo.

I seguenti comandi non sembrano funzionare con g++ 4.7 . libmylib.a senza errori o avvisi, ma apparentemente libmylib.a non sarà collegato:

 g++ -o program main.o -Wl,--no-as-needed /path/to/libmylib.a 

o

 g++ -o program main.o -L/path/to/ -Wl,--no-as-needed -lmylib 

Hai qualche idea migliore?