zoukankan      html  css  js  c++  java
  • DLL文件编译出错_DllMain@12 already defined in XXX.obj

    编译MFC DLL程序时出现

    Error 2 error LNK1169: one or more multiply defined symbols found E:C++HookTestCopyFileDetourCFDetourDebug1t.dll 1 1t 1
    Error 1 error LNK2005: _DllMain@12 already defined in 1t.obj E:C++HookTestCopyFileDetourCFDetour1tmfcs100ud.lib(dllmodul.obj) 1t

    1t为测试的dll工程名称


    错误解决方法:

    位置:Project->Propertie->C/C++->Preprocessor->Preprocessor Definitions

    原句”WIN32;_DEBUG;_WINDOWS;_USRDLL;DATALOG_EXPORTS;%(PreprocessorDefinitions)“把里面_USRDLL删除掉就可以解决此问题。极有可能是加了#include <afx.h>引起这个问题的。


    之后可能会出现 如下错误虽然不影响程序的编译运行

    3 IntelliSense: #error directive: Please use the /MD switch for _AFXDLL builds d:vs2010c++vcatlmfcincludeafxver_.h 81 3

    可以通过以下设置更改

      Project ->Property->Configuration Properties->C/C++->Code Generation->Runtime Library,在Runtime Library下选中Multithreaded    DLL或Debug Multithreaded DLL。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    2019-8-31-dotnet-新项目格式与对应框架预定义的宏
    2018-10-31-C#-程序内的类数量对程序启动的影响
    位域
    free命令
    lsof命令
    Linux挂载Windows文件夹
    Source Insight用法
    预处理命令
    QMessageBox
    QComboBox
  • 原文地址:https://www.cnblogs.com/lovelyx/p/4867101.html
Copyright © 2011-2022 走看看