none
如何編譯bt_api.h RRS feed

  • 問題

  • 需要測一下Bluetooth的連線,就在Visual Studio 2005開了一個新的專案,
    然後從\PUBLIC\COMMON\SDK\SAMPLES\BLUETOOTH\SCA\裡把sca.cxx轉貼到新專案裡。
    已經有在link的相依性那邊加上btdrt.lib了,編譯後出現下列error了,
    'RegisterBluetoothCOMPort': 找不到識別項
    請問還需要做什麼設定?
    2009年9月10日 上午 10:46

解答

  • 該 API 是 exported by coredll.dll
    sample code 是從 CE 6 來的嗎?
    原則上 應該用相對應的 SDK 來開發 (CE SDK 可以從該 project generate 出來)
    這個 API 在 PPC 2003 可能不 support 所以用 PPC 2003 SDK link 不出來也是不意外
    CE6 這個 API 的 implementation 在 PRIVATE\WINCEOS\COMM\BLUETOOTH\CORETHUNK\tbtcore.cpp
    也可以依樣劃胡蘆跟著做 (原則上 這個 API 就只是利用 btd.dll 去 activate 一個 COM port 的 wrapper)
    在不然也可以把
    RegisterBluetoothCOMPort (L"COM", index, &pp);

    RegisterDevice (L"COM", index, L"btd.dll", (DWORD)&pp);

    DeregisterBluetoothCOMPort 改 DeregisterDevice.

     

    • 已提議為解答 JocoboNY 2009年9月25日 下午 04:32
    • 已標示為解答 bauannModerator 2009年9月26日 上午 10:33
    2009年9月20日 上午 04:16

所有回覆

  • HI,

    您有沒有include必要的bt_api.h? 位置在類似C:\Program Files\Microsoft Visual Studio 9.0\SmartDevices\SDK\PocketPC2003\Include的資料夾底下.
    2009年9月11日 上午 01:38
  • 在sca.cxx裡有寫#include <bt_api.h> 而在link的相依性那邊也有加上btdrt.lib,然後也從組態管理員那邊把Pocket PC 2003(ARMV4)選進來。
    還是一樣出現
    'RegisterBluetoothCOMPort': 找不到識別項
    還需要做什麼設定嗎?
    2009年9月11日 上午 02:58
  • 在sca.cxx裡有寫#include <bt_api.h> 而在link的相依性那邊也有加上btdrt.lib,然後也從組態管理員那邊把Pocket PC 2003(ARMV4)選進來。
    還是一樣出現
    'RegisterBluetoothCOMPort': 找不到識別項
    還需要做什麼設定嗎?
    似乎不是沒include到bt_api.h這隻檔案的問題,
    因為找了一下bt_api.h裡面並沒有RegisterBluetoothCOMPort的定義。
    可是從網路搜文RegisterBluetoothCOMPort不是應該在bt_api.h裡面定義的嗎?
    不然應該怎樣把這支API給包進來呢?
    2009年9月11日 上午 03:25
  • 該 API 是 exported by coredll.dll
    sample code 是從 CE 6 來的嗎?
    原則上 應該用相對應的 SDK 來開發 (CE SDK 可以從該 project generate 出來)
    這個 API 在 PPC 2003 可能不 support 所以用 PPC 2003 SDK link 不出來也是不意外
    CE6 這個 API 的 implementation 在 PRIVATE\WINCEOS\COMM\BLUETOOTH\CORETHUNK\tbtcore.cpp
    也可以依樣劃胡蘆跟著做 (原則上 這個 API 就只是利用 btd.dll 去 activate 一個 COM port 的 wrapper)
    在不然也可以把
    RegisterBluetoothCOMPort (L"COM", index, &pp);

    RegisterDevice (L"COM", index, L"btd.dll", (DWORD)&pp);

    DeregisterBluetoothCOMPort 改 DeregisterDevice.

     

    • 已提議為解答 JocoboNY 2009年9月25日 下午 04:32
    • 已標示為解答 bauannModerator 2009年9月26日 上午 10:33
    2009年9月20日 上午 04:16