stange -I效果与make和坏-L

时间:2008-11-20 08:02:31

标签: makefile

我正在尝试构建一个自动构建系统。我花了一点时间将一个工作的wii通用makefile更改为工作的win32(使用mingw32)makefile。

我的作品在这里http://pastie.org/319482

奇怪的效果是,如果我删除ABS_INCL(第31行)中路径之前的a,则构建不起作用并抱怨丢失由第一个路径指定的标头。它为什么这样做?我无法追踪问题。

下一个问题是当我删除需要libcurl的代码时,我仍然可以编译但不再按预期链接。我将curl添加到我的libs(第47行)和路径(第53行),看起来我正好包含它并且lib的顺序正确(我试图在将wii转换为win32时尽可能少地触摸)和我看不出这个问题。有谁知道为什么会这样?

这是使用

进行测试的简单来源
#include <stdio.h>
void main2();
int main( int argc, const char* argv[])
{
    int a=0;
    printf("hey");
    main2();
    return 0;
}
#include <curl/curl.h>
void main2()
{
    CURL *curl = curl_easy_init();
    curl_easy_cleanup(curl);
}

1 个答案:

答案 0 :(得分:1)

你在这里没有得到很多答案 - 我会出去告诉你这是因为你写得很糟糕。当它滚动到主页时,我已经读了20次,但我仍然没有真正得到它。有一个明显的拼写错误,我想进入并解决这个问题,但是“-l”和“-L”之间存在着一种奇怪的现象,我无法分辨出你的目标。

所以,大多数人会看到这一点,然后空白并继续前进。假设他们已经过了那个,你没有将makefile中包含的有用信息添加到问题中,所以你必须在另一个网站上阅读它。

最后,作为另一个障碍,你的makefile太长了,无法轻易阅读和吸收。因此,假设像我这样真正有点坚定的人会去阅读它,那么很难说出问题可能在哪里。您需要将其编辑为大约十行或更少,然后假设您无法找出问题,那么您可以发布那些在您的问题中显示问题然后具有正确标题的几行一些好的描述性文字,你可能会得到答案。

我猜你的问题的答案甚至不是那么难,你已经成功地将它弄糊涂到大多数人都不会打扰的地步。