[CMake] Help! Is anyone embedding a ttype library?
james
james at mansionfamily.plus.com
Mon Jan 23 14:54:07 EST 2012
From issue 12909: (rc.exe cannot find generated type library, Visual
Studio 10 builder)
I have an IDL file that generates a type library, and an RC file that
wants to embed it.
The .tlb is emitted here:
C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug>dir *.tlb
Volume in drive C has no label.
Volume Serial Number is 5AB0-0B44
Directory of C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug
23/01/2012 18:52 2,612 EasyRTD.tlb
1 File(s) 2,612 bytes
0 Dir(s) 171,651,473,408 bytes free
there is no obvious sign of the rc file (easyrtd.rc) in the working
build directory, but if I insert a #error statement I get:
1>C:\src\easyrtd\EasyRTD\easyrtd.src\EasyRTD.rc(21): error RC2188:
C:\build\easyrtd.vs10\EasyRTD\EasyRTD.dir\Debug\RCa03492(25) : fatal
error RC1116: RC terminating after preprocessor errors
1>
which suggests that the file was copied over, if temporarily.
Unfortunately I cannot say:
2 TYPELIB "EasyRTD.tlb"
since rc.exe fails to find the file.
I can say:
2 TYPELIB "c:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug\EasyRTD.tlb"
or, I can say:
2 TYPELIB "EasyRTD.tlb"
if I also (don't laugh!) say in CMakeLists.txt:
include_directories(. c:/build/easyrtd.vs10/EasyRTD/easyrtd.dir/Debug)
before the source definition.
This seems to me a fundamental part of COM server development. Is there
a sane recipe I can use? (Even something that will get the correct
build dir name into the include_directories command? Tho I'm concerned
the dependency settings might not be quite right if the RC scanner
doesn't treat TYPELIB as a resource search and embedding operation.)
Thanks
James
More information about the CMake
mailing list