官方提供了一个DEMO
http://www.codeproject.com/Articles/264103/Using-COFF-C-object-files-with-Delphi-X
在本博文之前已经有人做过测试
http://www.cnblogs.com/DxSoft/archive/2011/11/08/2240980.html
他说只有Release版本才可以成功,其实经过本人详细测试,是因为编译选项的原因,也就是说不是所有OBJ都支持,需要经过如下设置之后编译出来的OBJ才可以给XE2链接
这是经过详细测试出来能成功链接的几个关键的选项如下:
VS 2008
Configuration Properties - C/C++ - Optimization - Whole Program Optimization 【No】
Configuration Properties - C/C++ - Code Generation - Basic Runtime Checks 【Default】
Configuration Properties - C/C++ - Code Generation - Buffer Security Check 【No (/GS-)】
Configuration Properties - C/C++ - Advanced - Compile As 【Compile as C Code (/TC)】
VS 2010-2013
Configuration Properties - C/C++ - Optimization - Whole Program Optimization 【No】
Configuration Properties - C/C++ - Code Generation - Basic Runtime Checks 【Default】
Configuration Properties - C/C++ - Code Generation - Security Check 【Disable Security Check (/GS-)】
Configuration Properties - C/C++ - Advanced - Compile As 【Compile as C Code (/TC)】
另外如果工程是控制台编译的话需要用编译指令编译就拿官方的例子来说用如下命令可以直接编译出来使用如下:
打开控件台编译工具 CD到工程目录下
cl /O2 /D "_UNICODE" /D "UNICODE" /MT /GS- /W0 /nologo /c /Zi /TC CtoDelphi.cpp