warning C4273: 'fileHandle::fileHandle' : inconsistent dll linkage. dllexport assumed.

what does this warning mean? during debug i dont get this message but during release i have this one. can anyone explain the message to me and maybe give some remedy to it

dllexport can only be used in DLL, so I suspect your release version thinks it is compiling for a DLL. Check the properties for debug and release to see if something is defined in debug that is not in release, or vice versa. Sounds like the release version contains an incorrect preprocessor directive.

Comments
this guy is daniwebs best poster

btw is their a serious problems that could happen if i just ignore the warning?

assuming you are using VC++ 2005, choose menu item Project --> Properties (at the bottom of the Project menu)

>>btw is their a serious problems that could happen if i just ignore the warning?
Don't know in your case, generally speaking ignoring warnings that can be corrected is a very bad thing because many warnings are really errors.

thanks il keep your advice in mind.(the ignoring warning thing)

im using VC++ 6 we have 7 here but my company doesnt want us to use it. dev is high level. too easy for training

i cant find any properties in my project menu. is it equivalent to settings?

With VC++ 6.0, select menu Project --> Settings, select the C++ tab on the right, change the Category selection to "Preprocessor".

this are the difference between the 2
WIN32,_DEBUG,_WINDOWS,_MBCS - > debug
WIN32,NDEBUG,_WINDOWS,_MBCS -> release

i change my release to _DEBUG,_WINDOWS

no more warnings

Look in the file that declares fileHandle and find out what macro it is using to decide whether to use dllimport or dllexport. Then check your program to see if it had declared that macro someplace else.

This article has been dead for over six months. Start a new discussion instead.