|
Hi,
i have developed .lib for logger from opensource called log4cxxx.
they have given samples to use the .lib file. while i am using functions (which are implemented in .lib) with string parameters got link error
rror LNK2001: unresolved external symbol "public: void __thiscall log4cxx::Logger::debug(class std::basic_string<char,struct std::char_traits<char="">,class std::allocator<char> > const &,char const *,int)" (?debug@Logger@log4cxx@@QAEXAB
V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBDH@Z)
../Bin/Static Debug/trivial.exe : fatal error LNK1120: 1 unresolved externals
where as i didn't get any error for functions with integers.
function protype
void Logger::debug(const String& message,const char* file=0, int line=-1);
i am using
const char *file1="log.txt";
debug("debug info",file1,100);
can anyone help on this issue.i am using vc6.0.
advance thanks
|
|
|
|
|
rgchezhian wrote: "public: void __thiscall log4cxx::Logger::debug(class std::basic_string,class std::allocator > const &,char const *,int)"
Please go through the function prototype again. There may be some mismatch.
If that is OK then try to link the libray as following preprocesser directive.
#pragma comment(lib,"full path of library")
put above line in .cpp file below the header includes
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Hi everyone,
Maybe my question is funny but I want to know what is it?
CMap<UINT,UINT,UINT,UINT> Map;Map m_Map;or CList <int> m;
or typedef CMap<UINT,UINT,UINT,UINT> m_Map;I know that typedef declare a new kind of an exist kind
|
|
|
|
|
messages wrote: I know that typedef declare a new kind of an exist kind
Then what else you want to know ?
|
|
|
|
|
Hi thanks for your help
I want to know what is it CMap<> or CList<>
|
|
|
|
|
messages wrote: I want to know what is it CMap<> or CList<>
This means that, these classes requires templete arguments.
|
|
|
|
|
Sorry I ask again I have another question can you explain for me For example what is it CMap<int,int,int> Map; Map m;
thank you prasad_som
|
|
|
|
|
Possibly you are asking, what is
typedef CMap<UINT,UINT,UINT,UINT> Map;
Map m. Because, what you have asked is not possible.
Its used just to increase redability.
|
|
|
|
|
When we must use of this case of course I know its depends to our program
I cant understand what is it typedef CMap<UINT,UINT,UINT,UINT> Map; Map m.
|
|
|
|
|
messages wrote: typedef
typedef is keyword for declaring synonym for type declarations.
i.e.
typedef char TCHAR;
Now, TCHAR
can be used instead of char .
messages wrote: what is it typedef CMap<uint,uint,uint,uint> Map; Map m.
typedef CMap<UINT,UINT,UINT,UINT> Map;
This statement indicates Map is synonym of CMap<UINT,UINT,UINT,UINT> .So statement
Map m ; is actually CMap<UINT,UINT,UINT,UINT> m;
|
|
|
|
|
messages wrote: I want to know what is it CMap<> or CList<>
These are wrapper classes for STL::map and STL:list respectively.
Go through the following article for more info about maps.
http://www.codeproject.com/cpp/cmap_howto.asp[ ^]
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
Thank you this link is very helpful
|
|
|
|
|
A_LaxmanThese are wrapper classes for STL::map and STL:list respectively
No, these aren't.
A_LaxmanGo through the following article for more info about maps.
http://www.codeproject.com/cpp/cmap_howto.asp[^]
You can see , MFC has its own implementation.
|
|
|
|
|
prasad_som wrote: You can see , MFC has its own implementation.
Yes, There is seperate implementation for CMap in MFC.
Thanks for update.
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
I have a transparent image (BMP) that I want to be able to place text on.
I have used SekBkMode to set TRANSPARENT, and also set the brush to bsClear.
This works great for old-style fonts, however True Type fonts seem to have some kind of anti-aliasing built it. When these fonts are drawn onto the canvas (at larger font sizes), the curves are edged in a colour halfway between the font colour and the transparent colour which makes them a little unsightly.
I can't just copy whats behind the text and use that as a background, as the layer beneath is liable to change at any time.
Is there any way to disable this effect?
Can I use fonts like Arial or Copperplate-Gothic-Light in font sizes above 16 without getting strange colours?
|
|
|
|
|
I'm sorry to disturb all of you, I feel like I'm missing something here.
I'm trying to use call a function in a DLL I have written and have so far done this:
DLL Side
int __stdcall Topo(LPSTR Param)<br />
{<br />
<code><br />
}
Calling Function side
typedef int (__stdcall * FuncPtr)(LPTSTR);<br />
<br />
int APIENTRY WinMain(HINSTANCE hInstance,<br />
HINSTANCE hPrevInstance,<br />
LPSTR lpCmdLine,<br />
int nCmdShow)<br />
{<br />
HMODULE TopoPtr;<br />
FuncPtr TopoFunc;<br />
CHAR Output[50]={0};<br />
<br />
if (TopoPtr = (HMODULE) LoadLibrary ("<location of DLL>") )<br />
{ <br />
TopoFunc = (FuncPtr)GetProcAddress(TopoPtr, "Topo");<br />
if ( TopoFunc && TopoPtr )<br />
{<br />
TopoFunc(<Params>);<br />
}<br />
FreeLibrary ( TopoPtr );<br />
}<br />
<br />
return 0;<br />
}
Export.def
LIBRARY CheckTopo<br />
EXPORTS<br />
Topo @1
The error is this: When I call TopoFunc, I get a stack overflow. Tracing it by stepping through, I find that the stack overflow occurs BEFORE I enter the code in the DLL Side. Is there something wrong with my calling of the function? Or is it nothing to do with that and that I should be looking at something else?
|
|
|
|
|
JJeffrey wrote: TopoFunc();
Did you miss to pass string here ?
|
|
|
|
|
No, I just removed all the irrelevant code. I did remember to pass the string. It is a LPTSTR.
And as to the other poster's statement, been there, done that. It is calling into the debug dll correctly, but the stack overflows when the program steps through from the calling EXE to the debug DLL in VC++
|
|
|
|
|
in loadlibrary first u enter the dll name. and to debug dll ,open workspace of dll and open Projects->setting->Debug and in executable for debug section ,give path name of client exe and then debug it
Yes U Can ...If U Can ,Dream it , U can do it ...ICAN
|
|
|
|
|
Hi All
I've got a menu to attach to my class derived from CFrameWindow.
I would like to set my menu to OWNERDRAW so that I can draw it and customize the layout.
In the constructor of my window class I put the following but GetMenuItemInfo doesn't work.
It never enters the if block so that I can set the MFT_OWNEDRAW style.
Retrieving the error code I've got 87 ERROR_INVALID_PARAMETER
Can you help me with that issue?
Regards
manustone
<br />
CGuiTestFrameWnd::CGuiTestFrameWnd()<br />
{<br />
<br />
Create( NULL, _T("Test"), WS_OVERLAPPEDWINDOW );<br />
CMenu menu;<br />
menu.LoadMenuA( MAKEINTRESOURCE(IDR_MENU1) ); <br />
SetMenu( &menu ); <br />
<br />
<br />
MENUITEMINFO itmInfo;<br />
if(menu.GetMenuItemInfo( 1, &itmInfo ))<br />
{<br />
itmInfo.fType |= MFT_OWNERDRAW;<br />
menu.SetMenuItemInfo( 0, &itmInfo );<br />
}<br />
<br />
menu.Detach();<br />
<br />
}<br />
|
|
|
|
|
manustone wrote: if(menu.GetMenuItemInfo( 1, &itmInfo ))
What is the "1" you are passing here? Is it an ID or a position? If it's a position then you
need to call like this:
if(menu.GetMenuItemInfo( 1, &itmInfo. TRUE ))
...
|
|
|
|
|
if your problem is of GetMenuItemInfo see this examples "Plug-in DLLs and Menu Interfaces " on codeproject(dll) it works with this function maybe it some helpfuls
|
|
|
|
|
Hi all,
I want CLSID from prog id in managed code. i am using code as follows but
CLSID clsid;
HRESULT hr;
hr= CLSIDFromProID(OLESTR(“AtlServer.MyMath”),&clsid);
it is not working.
please tell me which namespace i have to use and which function.
thanks
bankey.
|
|
|
|
|
Banks K wrote: I want CLSID from prog id in managed code
Please post on proper forum to get answer.
Knock out 't' from can't,
You can if you think you can
|
|
|
|
|
How to update just 2 field from my table ?
i whant to edit a field from my database-> table but i dont know how to update just that field!
My database visual fox pro 6.0
Database name : Database_Pers
Table name : city
my string to update in the field city is CString sTemp;
this is :
CDatabase_Pers pPers;
...
pPers.Edit();
pPers.m_city = sTemp;
....This is update ....but if update all i have this error:
SQL:statement too long !
pPers.Update(); <-This generate this error !
Bravoone
|
|
|
|