Quote:
|
Originally Posted by greka
>...Можно...каким-либо способом исхитриться и указать линкеру что функции из определенного обьектного файла надо щитать членами какого-либо пространства..
погоди, я "согласна" и на "нелегальные" методы 
а это как делать ?
|
Один из вариантов (для Win32):
a. Создать библиотеку с именами функций как тебе надо.
Например: есть функция foo. Ты хочешь, чтобы она была в namespace bar.
Создаешь проект библиотеки в котором пишешь пустую функцию bar::foo.
b. Создать DEF файл, в котором будут указаны ординалы функций, совпадающие с соответствующими в библиотеке, исходников которой нет.
c. Все ето хозяйство скомпилировать.
d. Слинковать программу с получившимся lib файлом.
И будет тебе щастье.
Решение лобовое, предложенное после 15 минут размышлений. Так что, пожалуйста, канделябром не бей. Покопавшись в опциях линкера может найдешь и получше.
А можно еще и написать программку, которая будет читать символьную таблицу dll-ки и генерировать lib как укажешь.