Ice3.1.1 problems encountered during development (4)

Source: Internet
Author: User

So far, the latest version of ice is 3.4.1.

However, ice3.1.1 is the last official version that supports windows released by zeroc. To be compatible with Windows2000, I haveProgramIt is divided into two versions and compiled using vs2008 + ice3.4.

Compile with vc6.0 + 3.1.1.

Many problems encountered in the process are summarized as follows.

1. When using the ice3.1.1 source code version, you must first compile ice3.1.1.

Compilation Method: Use vc6 to open all. DSW under the source code, open tools-> Option-> directories. Set the include directory, lib directory, and bin directory of ice.

The include directory cannot contain the 2003 psdk path when compiling all. Otherwise, many errors will be reported. If you really need to use 2003 psdk, you 'd better delete the include path of psdk first, after compilation is complete, add it in.

 

2. Program Compilation

After the ice compilation is completeCodeCompile the SDK. If your code uses 2003psdk, include the include path of the SDK. Do not forget the include path of stlport. If an error occurs during compilation

C: \ ICE-3.1.1-THIRDPARTY-VC60 \ include \ stlport \ STL/_ threads. H (181): Error c2733: second C linkage of overloaded function 'interlockedincrement 'Not Allowed
C: \ ICE-3.1.1-THIRDPARTY-VC60 \ include \ stlport \ STL/_ threads. H (181): See Declaration of 'interlockedincrement'

You need to open c: \ Ice-3.1.1-ThirdParty-VC60 \ include \ stlport \ stl_user_config.h

Turn these two switches on

/*
* You shoshould define this macro if compiling with MFC-stlport <STL/_ config. h>
* Then include <afx. h> instead of <windows. h> to get synchronisation primitives
*
*/

# DEFINE _ stlp_use_mfc 1 // skip this if you do not need MFC

// Boris: this setting is here as we cannot detect precense of new platform SDK automatically
// If you are using new psdk with VC ++ 6.0 or lower, Please define this to get correct prototypes for interlockedxxx Functions
# DEFINE _ stlp_new_platform_sdk 1

 

In addition, there are some common errors for compiling and selecting projects, such as project-> setting-> library modules: Ice. Lib iceutil. Lib in link.

Project Options/GR/MDD

Project Options in project> setting> C/C ++: _ win32_winnt = 0x500

 

In addition, I still encountered a problem. The debug version does not have any problems, but an error occurs when the release version is used.

Later I found that the/MDD parameter was used for compilation in the release version./md should be used in the release version.

It seems that the specific meaning of this parameter was not understood when the problem occurred, and now it is finally understood.

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.