読者です 読者をやめる 読者になる 読者になる

IBM Notes C APIのMacにおけるDWORD問題

現在、このブログでQtによるNotesPeekリメイクプロジェクトを進めていますが、ここで今日、問題が発生しました。

Notesデータベースから文書を取得する際にNSFSearch関数を使用し、NOTEID型を取得しようとしました。

WindowsLinux(Ubuntu)では問題は出ませんでしたが、Mac環境において、正確にNOTEIDが取得できませんでした。

NOTEIDはDWORD型です。APIにおいてDWORDは、32bit幅の符号なし整数になります。この定義は、APIのglobal.hヘッダーファイルに含まれています。

Win32やUNIX(LINUX)においては問題が発生していません(Domino Serverを対象にしたWin64の場合は検証できていません)。

しかし、Macコンパイラにおいて、他のOSと違ってDWORDの幅が異なりました。

APIに掲載されているオプションもいろいろ試しましたが、今のところ、解決できた追加オプションは以下の通りです。

DEFINES += LONGIS64BIT

何かわかり次第、補足したいと思います。