簡體   English   中英

如何在我的代碼中有效地使用現有項目?

[英]How to effectively use an existing project in my code?

Let's say I want to use mnemonic_generate function from https://github.com/trezor/trezor-crypto/blob/master/bip39.c in my code (actually I want to use many others from the repository but let's just consider this) . 我已經在我的系統上克隆了 repo。 我可以做,它的工作原理。 但是我有一個單獨的.c文件,其中我有#include"relative/path/to/bip39.c"我嘗試調用 mnemonic_generate 但它會引發很多類型為undefined reference to 'X'的錯誤(例如undefined reference to random_buffer等)。 我知道這個文件反過來又試圖包含其他文件,這些文件可能包含這些未定義事物的定義,但由於某種原因它們沒有被包含在內。 為什么會發生這種情況以及如何解決這個問題?

我感到困惑的主要原因是因為我不知道(好吧,我研究過但沒有意識到)編譯和鏈接之間的區別。 我也不知道 Makefile 是什么,為什么我們需要一個。 這就是我最終解決它的方式

您不能只從這樣的復雜項目中 #include 一個.c文件並期望它能夠正常工作。 生活沒有那么簡單。

相反,該項目的readme.md文件表明它是一個庫,因此您需要鏈接到該庫(您說您已經構建了該庫)並在您的應用程序中的任何您想要的位置#include 相關的.h文件調用庫中的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM