Вобщем при написании проги возникло ошибка линкера Он указывает на то что вроде бы в одном из модулей дважды обьявлена какая-то переменная Но суть в том что ее не то что дважды- ее воовще нет _SessionID Поискал ее по всем файлам проекта и подключенным заголовочным файлам - ее нет. как быть опцию линкера /FORCE:MULTIPLE не предлагать, т к она у меня почему то не работает
Ой, я наверное не правильно выразился - не "обнаружить" а исправить ))Т к обнаружить мне ее уже удалось
Как-как, и куча. Давайте обьектники проекта сюда(и R3Invisible.obj в частности), либо показывайте сорцы. Либо ищите редефинишн SessionId сами.
mathio не нервничай )) Вобщем я в этом модуле пытался отключать в заголовке подключенные модули и оказалось что виной всему ntdll.h (скорее всего т к остальные инклуды я зкоментировал и остался только этот) его я подключаю в нескольких местах его код Код (Text): #pragma once #define WIN32_LEAN_AND_MEAN #include <windows.h> namespace NT { extern "C" { #pragma warning(disable:4005) #include <ntdef.h> //#include <ndis.h> //typedef __int32 LONG_PTR, *PLONG_PTR; //typedef unsigned __int32 ULONG_PTR, *PULONG_PTR; #define _WIN2K_COMPAT_SLIST_USAGE #include <ntddk.h> #include <ntddser.h> #include <ntstatus.h> #include "native.h"//undocumented definitions #pragma warning(default:4005) } } using NT::NTSTATUS;
Не хотите показывать больше, ваше право, но по приведенному куску лично я ничего сказать не смогу. Как вариант можно "подхачить" таблицу символов одного из двух обьектников(если SessionId обьявлено только в двух - code.obj и R3Invisible.obj) и далее уже ручками связывать их линкером. Но это - вариант для мазохистов или кому делать больше нечего.
а смысл показывать больше? если ошибка сосредоточена тут. ведь говорю же что все закоментировал в модуле R3Invisible кроме этого определения.
в программе модуль R3Invisible.obj состоит из R3Invisible.h //--- #include"ntdll.h" //--- R3Invisible.cpp //--- #include"R3Invisible.h" //--- Беру удаляю модуль из проекта все работает ппц в чем дело?
Вы издеваетесь чтоль? Например, за майкрософтовские хидера я могу быть спокоен, но что вы накучевертили в своих(native.h) одному богу известно. Вполне вероятно, что туда и влепили объявление SessionId.
Этот хидер не мой, ссылку давал Four-F я его и не думал на него покопался и нашел там определение ULONG SessionId;