今天2013/08/01,看完了最近追的一个韩剧《听见你的声音》,还不错。
工作还算清闲,写写需求设计文档,听听歌,对着书敲敲代码,做做记录。课题内容:ACE共享内存管理。
错误1. 新建一个工程,各项工作准备就绪,编译的时候出现
【error LNK2019: 无法解析的外部符号"int __cdecl ace_main_i(int,char * * const)" (?ace_main_i@@YAHHQAPAD@Z),该符号在函数"private: virtual int __thiscall ACE_Main::run_i(int,char * * const)" (?run_i@ACE_Main@@EAEHHQAPAD@Z) 中被引用
1>D:\lucheng\project\aceproject\acestudy\Debug\ace_mempool.exe : fatal error LNK1120: 1 个无法解析的外部命令】
出问题的地方在
int main (void)
改正:改为int main(int argc, char* argv[])
或者改成 int ACE_TMAIN(int argc, ACE_TCHAR*argv [])
错误2. 调试的时候,报错始终找不到ACEd.dll,将它放在生成的程序exe目录不行,哪怕是放在system32下面也不行。哇,重启以后都不行。
问题分析:在于我的电脑里面用了两个ace5.5,一个6.1的版本,我放的dll很不幸跟lib不匹配。晕
即:有时候你虽然放了ACEd.dll,但是还是说找不到,有可能就是这种不匹配哦
tip1. vs快捷键
由于我是左手操作鼠标,有时候还真不想动鼠标.
比如说我要编译我的当前项目memorypool==ctrl + f7。
我要修改当前项目memorypool的属性==alt + f7
乱搞中,发现ctrl+u 是转小写的快捷键
最后,和一个同事一起讨论项目中__linux__宏究竟是哪里来的,找不到定义的地方。
g++ -posix -E -dM - </dev/null 会输出g++默认的宏定义,可以看到这个宏是g++的默认定义宏。