SOコミュニティの 助けを借りて、最初のMySQLベースのファイルをC++で実行することに成功しました。次のステップは、ApacheでCGIファイルとして実行することです。Apacheでは500の内部サーバーエラーが発生し、サーバーログでは次のようになります。
Sat Jan 19 12:18:18 2013] [notice] caught SIGTERM, shutting down
[Sat Jan 19 12:18:23 2013] [notice] Digest: generating secret for digest authentication ...
[Sat Jan 19 12:18:23 2013] [notice] Digest: done
[Sat Jan 19 12:18:23 2013] [notice] Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2 configured -- resuming normal operations
[Sat Jan 19 12:18:51 2013] [error] [client 127.0.0.1] Premature end of script headers: addproduct.cgi
次の手順を実行しました
1- netbeansによって生成されたDEBUGフォルダーに移動し、addproduct.oファイルの名前をaddproduct.cgiに変更しました。
2- htdocs /myappfolder/にコピーしました
私のファイルはMySQLとBoostのライブラリを使用していますが、同じ理由でエラーが発生していると思います。インクルードとライブラリをCGIとリンクする方法を知りたいですか?
MySQL Connector /C++に付属するC++コードを以下に示します。
更新:パスをいじった後、次のエラーが発生します。
インベントリdyld:ライブラリがロードされていません:libmysqlcppconn.6.dylib
参照元:/Applications/MAMP/htdocs/inventory/Inventory/dist/Debug/GNU-MacOSX/./inventory理由:イメージが見つかりませんトレース/ BPTトラップhttp:// pastie.org/5723836
otoolは次の情報を提供します。
otool-LMVインベントリ
inventory:
libmysqlcppconn.6.dylib (compatibility version 6.0.0, current version 6.1.1)
time stamp 2 Thu Jan 1 05:00:02 1970
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
time stamp 2 Thu Jan 1 05:00:02 1970
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)