Я пытаюсь создать DLL плагин для OBS, но когда я пытаюсь скомпилировать простой скрипт, он дает мне следующие ошибки -Ошибка LNK 2005 & LNK1169 C++ Visual Studio DLL
Error 1 error LNK2005: [email protected] already defined in dllmain.obj c:\Users\user\documents\visual studio 2013\Projects\name\nameEnhanced\nameEnhanced.obj nameEnhanced
и
Error 2 error LNK1169: one or more multiply defined symbols found c:\users\user\documents\visual studio 2013\Projects\name\Debug\nameEnhanced.dll 1 1 nameEnhanced
Я создал простой скрипт, который имеет только 2 файла а именно -
handle.h
nameEnhanced.cpp
это мои файлы -
handle.h
#include <windows.h>
#include <string>
using namespace std;
namespace MsgeBox
{
class myMessage
{
public:
static void createMessage(HWND windowsOwner, LPCWSTR theMessage, LPCWSTR theTitle, UINT theIcon){
MessageBox(windowsOwner, theMessage, theTitle, theIcon);
}
};
}
и
nameEnhanced.cpp
// nameEnhanced.cpp : Defines the exported functions for the DLL application.
//
#include "stdafx.h"
#include <Windows.h>
#include "handle.h"
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
MsgeBox::myMessage::createMessage(NULL, (LPCWSTR)"Hello", (LPCWSTR)"I See You.", MB_ICONWARNING | MB_CANCELTRYCONTINUE);
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
// attach to process
// return FALSE to fail DLL load
break;
case DLL_PROCESS_DETACH:
// detach from process
break;
case DLL_THREAD_ATTACH:
// attach to thread
break;
case DLL_THREAD_DETACH:
// detach from thread
break;
}
return TRUE; // successful
}
Я пытался удалить файл dllmain.obj
но это не сработало
I» ve использовали https://msdn.microsoft.com/en-us/library/windows/desktop/ms645505(v=vs.85).aspx в качестве базы для моего кода
Я не очень хорошо знаком с использованием Visual Studio. – Gerwin
Итак, вам нужно, чтобы я рассказал вам, как удалить исходный файл из проекта? Это не произойдет. – trojanfoe
хорошо, что сработало, я никогда не просил вас рассказать мне, как удалить файл, я просто подумал, что вы имеете в виду что-то еще, не нужно атаковать людей. – Gerwin