小编Joh*_*nie的帖子

从Linux for Windows交叉编译静态库

我想在linux中为windows编译静态库.以下是我编写的程序

  1. 使用linux编译静态库的源代码 i586-mingw32msvc-cc -c static_lib.c -o static_lib.o
  2. 在linux ar rv static_lib.a static_lib.o和.中创建了静态库ranlib static_lib.a
  3. 我在windows上的eclipse中创建了一个示例程序,并链接了这个静态库,它在linux中用于windows交叉编译.在windows上使用的编译器是mingw.

在windows eclipse中编译程序时,编译器给出了以下错误.

static_test\static_lib.a: file format not recognized; treating as linker script 
\static_test\static_lib.a:1: syntax error
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Run Code Online (Sandbox Code Playgroud)

守则如下:

static_lib.c

#include <stdio.h>

void func(void)
{
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
        printf("Hello\n");
}
Run Code Online (Sandbox Code Playgroud)

sample_static.c

#include <stdio.h>

extern void func(void);

int main ()
{
    printf ("Main function\n");
    func();
}
Run Code Online (Sandbox Code Playgroud)

请给我建议编译并使其工作.

关于约翰尼艾伦

c linux

5
推荐指数
1
解决办法
2422
查看次数

在子文件夹中创建项目 [eclipse CDT]

我正在使用 eclipse CDT 来创建项目。我正在创建一个工作区,并且必须在子目录中创建项目

   + workspace
   |
   +--+ level 1 (folder)
   |  | 
   |  +-- project 1
   |  |
   |  +-- project 2
   |
   +--+ level 2 (folder )
   |  |
   |  +--+ level 3 (folder inside level 2)
   |     |
   |     +--- project 3
Run Code Online (Sandbox Code Playgroud)

根据上图,我必须在名为 level1 的文件夹内创建项目 1 和 2,类似地在文件夹 level 3 内创建项目 3 ( level 3 文件夹位于文件夹 level2 内)

如果我尝试创建该项目,它会显示“与另一个项目的位置重叠”

请提出建议。

问候约翰尼

eclipse eclipse-cdt

5
推荐指数
1
解决办法
8024
查看次数

标签 统计

c ×1

eclipse ×1

eclipse-cdt ×1

linux ×1