准备、编译和链接 C/C++ 项目

此任务是“使用 C/C++ 开发 DB2 Everyplace 应用程序”这一大型任务的一部分。当完成“准备、编译和链接 C/C++ 项目”的步骤时,请返回至开发 DB2 Everyplace C/C++ 应用程序

过程

DB2 Everyplace 包含用于应用程序开发的头文件和操作系统库文件。

要使用正确的编译器来准备项目文件并编译和链接 DB2 Everyplace 应用程序:

  1. 创建一个项目文件。此过程根据开发工具和开发操作系统而有所变化。
  2. 将下列 DB2 Everyplace 头文件加入该项目。头文件包含随 DB2 Everyplace 一起提供的常量、数据类型 和 C/C++ 函数原型。头文件包括:
    \db2everyplace\Clients\include\sqlcli.h
    \db2everyplace\Clients\include\sqlcli1.h
    \db2everyplace\Clients\include\sqlext.h
    \db2everyplace\Clients\include\sqlsystm.h
    
  3. 包括特定于应用程序的任何头文件。
  4. 将适当的 DB2 Everyplace 库加入该项目。

    下表概述了 DB2 Everyplace 库并列出每个操作系统的附加信息。

    表 3. DB2 Everyplace 库

    操作系统 所需的库文件和附加信息
    Palm OS \db2everyplace\clients\palmos\database\DB2e.lib 可选:将堆栈大小增大为 8 KB。缺省值为 4 KB。

    Palm OS 应用程序具有有限的缺省应用程序堆栈大小。视应用程序的不同,您可能会在运行时遇到堆栈溢出问题。为避免 此问题,在 DB2 Everyplace 附带的 palm-pref.r 文件中指定较大的堆栈大小。遵循 palm-pref.r 文件中的指示信息并将其包括在项目文件中。

    如果在使用 PRC-Tools 开发应用程序,则将 stack=0x8000 添加到应用程序的 .def 文件中。例如:application {"MyApplicationName" APID stack=0x8000 }

    Symbian OS V6

    仿真器应用程序:\db2everyplace\clients\symbian6\database\wins\DB2e.lib

    设备应用程序:\db2everyplace\clients\symbian6\database\armi\DB2e.lib

    Symbian OS V7

    仿真器应用程序:\db2everyplace\clients\Symbian7\database\wins\DB2e.lib

    设备应用程序:\db2everyplace\clients\Symbian7\database\armi\DB2e.lib

    Windows CE

    ARM 处理器:

    • V3.00 \db2everyplace\clients\wince\database\wce300\armrel\DB2e.lib
    • V4.00 \db2everyplace\clients\wince\database\wce400\ARM4VRel\DB2e.lib

    MIPS 处理器:

    • V3.00 \db2everyplace\clients\wince\database\wce300\mipsrel\DB2e.lib
    • V4.00 \db2everyplace\clients\wince\database\wce400\MIPSIVRel\DB2e.lib

    SH3 处理器:

    • V3.00 \db2everyplace\clients\wince\database\wce300\sh3rel\DB2e.lib
    • V4.00 \db2everyplace\clients\wince\database\wce400\SH3Rel\DB2e.lib

    Windows CE 仿真器:

    • V3.00 \db2everyplace\clients\wince\database\wce300\x86emrel\DB2e.lib(用于 Pocket PC 仿真器) \db2everyplace\clients\wince\database\wce300\x86rel\DB2e.lib(用于 Pocket PC 2002 仿真器)
    • V4.00 \db2everyplace\clients\wince\database\wce400\emulatorRel\DB2e.lib(用于 WinCE.NET 仿真器)

    验证 UNICODE 是否支持该项目。将 UNICODE 和 _UNICODE 添加至“项目设置”的预处理器定义

    XScale 处理器:

    • V3.00 \db2everyplace\clients\wince\database\wce300\xscale\DB2e.lib
    Win32 \db2everyplace\clients\Win32\database\x86\DB2e.lib
    Neutrino libdb2e.so

    Neutrino 库文件 在 DB2 Everyplace Neutrino gzipped tar 文件 DB2EveryplaceNTO.tar.gz 中。此文件位于 \db2everyplace\clients\neutrino\database\ 目录中。libdb2e.so 位于 /db2e/database/x86/(对于 x86 处理器类型)目录中。

    Linux libdb2e.so

    Linux 库文件在 DB2 Everyplace Linux gzipped tar 文件 DB2EveryplaceLN.tar.gz 中。此文件位于 \db2everyplace\clients\embeddedlinux\database\ 目录中。libdb2e.so 位于 /db2e/database/x86/(对于 x86 处理器类型)/db2e/database/strongarm/(对于 strongarm 处理器类型)目录中。

  5. 可选:在项目文件中定义宏 UNICODE 和 _UNICODE 以获取 UNICODE 支持。
  6. 编译项目并将对象代码与适当的 DB2 Everyplace 库相链接。

    许多应用程序开发工具都提供了在集成开发环境中自动编译和链接的功能。有关编译和链接项目的附加信息, 请参阅应用程序开发软件附带的文档。

相关概念

相关任务

相关参考