Гадость в VS .NET
StanB., православный из РПЦ - 21:35 26.11.2003
|
Вот такая проблема возникла. Решил я сделать .lib-файл для некоторых своих классов, чтобы не компилить каждый раз вместе с проектом, а просто подключить соответствующий .lib-файл. Я соорудил проект, куда включил два cpp-файла с классами. Проблема вышла в том, что оба эти класса используют один и тот же заголовочный файл содержащий некоторые структуры. И вот, компилер пишет:
Во-первых: Elevation_loader.obj : warning LNK4218: non-native module found; restarting link with /LTCG
Что это за ошибка? У меня в хелпе нет про неё.
Во-вторых, самое страшное:
Texture.obj : warning LNK4006: "struct TGA tga" (?tga@@3UTGA@@A) already defined in a previous module; second definition ignored
Texture.obj : warning LNK4006: "unsigned char * uTGAcompare" (?uTGAcompare@@3PAEA) already defined in a previous module; second definition ignored
Texture.obj : warning LNK4006: "unsigned char * cTGAcompare" (?cTGAcompare@@3PAEA) already defined in a previous module; second definition ignored
Texture.obj : warning LNK4006: "struct TGAHeader tgaheader" (?tgaheader@@3UTGAHeader@@A) already defined in a previous module; second definition ignored
3dobject.obj : warning LNK4006: "struct TGA tga" (?tga@@3UTGA@@A) already defined in a previous module; second definition ignored
3dobject.obj : warning LNK4006: "unsigned char * uTGAcompare" (?uTGAcompare@@3PAEA) already defined in a previous module; second definition ignored
3dobject.obj : warning LNK4006: "unsigned char * cTGAcompare" (?cTGAcompare@@3PAEA) already defined in a previous module; second definition ignored
3dobject.obj : warning LNK4006: "struct TGAHeader tgaheader" (?tgaheader@@3UTGAHeader@@A) already defined in a previous module; second definition ignored
Но это ещё пока только предупреждение, а вот когда я подключаю этот .lib к другому проекту и компилю ехе, начинаются ошибки:
Map_Editor error LNK2005: "struct TGA tga" (?tga@@3UTGA@@A) already defined in Main.obj
Map_Editor error LNK2005: "struct TGA tga" (?tga@@3UTGA@@A) already defined in Main.obj
Map_Editor error LNK2005: "struct TGAHeader tgaheader" (?tgaheader@@3UTGAHeader@@A) already defined in Main.obj
Map_Editor error LNK2005: "struct TGAHeader tgaheader" (?tgaheader@@3UTGAHeader@@A) already defined in Main.obj
Map_Editor error LNK2005: "unsigned char * cTGAcompare" (?cTGAcompare@@3PAEA) already defined in Main.obj
Map_Editor error LNK2005: "unsigned char * cTGAcompare" (?cTGAcompare@@3PAEA) already defined in Main.obj
Map_Editor error LNK2005: "unsigned char * uTGAcompare" (?uTGAcompare@@3PAEA) already defined in Main.obj
Map_Editor error LNK2005: "unsigned char * uTGAcompare" (?uTGAcompare@@3PAEA) already defined in Main.obj
Что же с этим всем делать? Если надо, пришлю исходники.
|
|