VLFeatソースコード、特にのファイルをthisに変更しようとしています。このようなライブラリのソースコードを編集するのは初めてですから、Hello Worldを印刷するような簡単な作業から始めました!printf()はソースコードでは動作しませんか?
( this文書の慣習以下)するとvoid
vl_vlad_encode (void * enc, vl_type dataType,
void const * means, vl_size dimension, vl_size numClusters,
void const * data, vl_size numData,
void const * assignments,
int flags)
{
printf("Hello World!");
...
:fucntionの先頭に
- 私はエラーなしで(
VLFEATROOT
にmake
とライブラリを再コンパイルrm -rf VLFEATROOT/bin
- とのバイナリコードを削除しました)
ただし、私のアプリケーションからvl_vlad_code
を呼び出すと、pはありません。 rinted。 私のC++アプリケーションでライブラリが正常に動作することに気づいただけで、変更が無視されます。
ただ、完全を期すために、私はUbuntuの16.04を使用し、これは私が私のEclipse CDTプロジェクトで使用VLFeatに関するコンパイルオプションは次のとおりです。
... -I/home/luca/vlfeat ... -L/home/luca/vlfeat/bin/glnxa64 ... -lvl
UPDATE:コメント欄で 次の提案、Iこの方法でファイルに何かを書き込もうとしました:
void
vl_vlad_encode (void * enc, vl_type dataType,
void const * means, vl_size dimension, vl_size numClusters,
void const * data, vl_size numData,
void const * assignments,
int flags)
{
FILE *f = fopen("/home/luca/file.txt", "w");
if (f == NULL)
{
printf("Error opening file!\n");
exit(1);
}
/* print some text */
const char *text = "Write this to the file";
fprintf(f, "Some text: %s\n", text);
ファイルが作成されていません!
盲目的な提案: 'printf(" Hello World! ");' printf( "Hello World!\ n"); ' –
ええ、私はすでにそれを試みました(実際には最初のバージョンでした)。あなたはどこに電話していますか? – justHelloWorld
また、ライブラリを再コンパイルするだけでなく、アプリケーションを再コンパイル/再リンクすることもできます。 – UnholySheep