+ Start a Discussion
SimonZeacomSimonZeacom 

Problem building a release CTI Connector

Hi, I have developed and built a CTI Connector to interface with our telephony system and have this working nicely now. I am having problems however building a release version of the project. The debug version will build fine.

I have followed the instruction given in the CTI Toolkit Developers guide (Chapter 3 - Building a CTI Connector in Visual Studio) and have built the project in Visual.net 2003 as described.

When I try to compile the release version I get the following error:

Compiling...
cl : Command line error D2016 : '/O2' and '/RTC1' command-line options are incompatible

I have trying playing with those options in the project properties but so far I can't get it to build release at all.

Does anyone have any hints?

Simon
werewolfwerewolf
Hmm, I don't think I've seen that one before.  For each of your projects make sure that C/C++->Basic Runtime Checks is set to Default and your Runtime Library is set to Multi-threaded DLL.  Also make sure the configuration for that is in fact your Release configuration -- that's gotten me a couple of times, where I changed the properties but didn't notice it was on my Debug build config.
SimonZeacomSimonZeacom
Thank you! That got it to work. I then had a compile error but that was because I was missing the _UNICODE from the release pre-processor settings.

It is probably worth nothing that the documentation (in section 3) says to use Multi-threaded  for the release setting which is where I went wrong I think. I should have worked that out just looking at it myself!

The issue I have now is with my installer. I believe I am having a problem registering the MSXML6.dll file. I am sure I saw some document somewhere explaining how to build an installer but I can't for the life of me find it now?

Thanks!

Simon

werewolfwerewolf
MSXML6.dll is a major PITA.  For some reason MS never released a merge module for it which makes it much more painful to install than most DLLs.

The simple answer is that in order to register it you need both msxml6.dll and msxml6r.dll.  Only one of them is registrable (I don't remember which it is) but they both need to be there.   @#$@#% Microsoft.  Some partners have also chosed to just chain the installer for MSXML6 itself, which is not exactly ideal from a user experience standpoint, but it works.
SimonZeacomSimonZeacom
Thanks again. I added the msxml6r.dll file and set the propertied on the msxml6.dll file to be vsdrfCOMSelfRegister and that all seems to be working now. My connector builds and installs AND even runs!

Now to give it to QA....

SImon