小编Hag*_*ble的帖子

函数`_start':init.c :(.text + 0x30):对'main'的未定义引用

我正在开发一个包含大约30个源文件(.c)的C项目.我正在使用GNU工具在Ubuntu上运行的32位微控制器(i.MX515)上构建这个项目.

编译阶段成功完成,但是当链接过程开始时,我收到此错误(对于问题结尾处的完整错误):

In function `_start': init.c:(.text+0x30): undefined reference to `main'
Run Code Online (Sandbox Code Playgroud)

我有main()一个简单的功能printf().

我的Makefile链接,看起来像这样.

final: $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o.... (Go upto 30 files like this)
    @echo ".Linking"
    $(CC) $(LFLAGS) -o $(OBJDIR)/main.o $(OBJDIR)/TchClaKnn_BuildKdtreeInt.o $(OBJDIR)/TchClaKnn_FreeKdtreeInt.o..... (Go upto 30 files like this)
Run Code Online (Sandbox Code Playgroud)

救命!!!

问候

维克拉姆


完成链接错误

/usr/lib/gcc/arm-linux-gnueabi/4.3.3/../../../crt1.o: In function `_start':
init.c:(.text+0x30): undefined reference to `main'
collect2: ld returned 1 exit status
make[1]: *** [final] Error 1
make[1]: Leaving directory `/home/ubuntu/Documents/Project/IMX_Project_v1'
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

c linker undefined-reference

4
推荐指数
1
解决办法
4万
查看次数

如何为使用线性代数的C++模板库Eigen编写C++项目的makefile?

我正在使用特征库,它承诺矩阵运算的矢量化.我不知道如何使用Eigen中给出的文件并编写一个makefile.使用Eigen的源文件包括下面列出的文件,这些文件甚至不是头文件(它们只是一些文本文件) -

<Eigen/Core>
<Eigen/Dense>
<Eigen/Eigen>
Run Code Online (Sandbox Code Playgroud)

等等.在Eigen的网页上,有人提到,为了使用它的功能,我不需要构建项目,那么如何在makefile中包含这些文件来构建我的项目.我的示例main.c文件看起来像这样.任何人都可以告诉我如何为这个文件编写一个makefile makefile -

#include <Eigen/Core>

// import most common Eigen types 
USING_PART_OF_NAMESPACE_EIGEN

int main(int, char *[])
{
  Matrix3f m3;
  m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
  Matrix4f m4 = Matrix4f::Identity();
  Vector4i v4(1, 2, 3, 4);

  std::cout << "m3\n" << m3 << "\nm4:\n"
    << m4 << "\nv4:\n" << v4 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

救命!

c++ makefile project matrix eigen

4
推荐指数
1
解决办法
5058
查看次数

GetWindowText()函数并非始终正确执行

我正在编写一个小型应用程序,希望从Chrome浏览器中获取URL。

为了首先检查Chrome浏览器是否打开,我使用以下代码:

 IntPtr WindowTitleTextPtr = GetForegroundWindow();

 StringBuilder WindowTitleText = new StringBuilder();

 GetWindowText(WindowTitleTextPtr, WindowTitleText, 256); // Problem

 ...
Run Code Online (Sandbox Code Playgroud)

我正在使用GetWindowText()函数获取Windows标题文本,但在那里我遇到了问题。

如果Chrome窗口没有URL,只是一个New Tab,那么我没有问题,WindowTitleText.ToString()等于New Tab-Google Chrome

但是,如果我打开网页,在这种情况下,URL填充了一些URL,则在 GetWindowText()行中我得到: vs32host.exe已停止工作消息窗口,要求我执行以下操作:在此处输入图片说明

这是怎么回事?

救命!

c# vshost32 interopservices .net-4.5 visual-studio-2012

3
推荐指数
1
解决办法
1657
查看次数

如何在Linux ubuntu中设置C++环境变量?

我刚刚在Windows上的Virtualbox上安装了Ubuntu.

我正在尝试安装cmake,cmake网站上的安装指南要求我执行以下步骤

./bootstrap
make
make install
Run Code Online (Sandbox Code Playgroud)

但是,当我刚刚执行./bootstrap命令时,我得到以下错误列表,任何人都可以建议我如何在我的系统上设置C++编译器.因为我刚刚安装了Ubuntu,目前可能没有设置C++.

请帮助.


CMake 2.8.1, Copyright 2000-2009 Kitware, Inc.
C compiler on this system is: cc

Error when bootstrapping CMake:
Cannot find appropriate C++ compiler on this system.
Please specify one using environment variable CXX.
See cmake_bootstrap.log for compilers attempted.

Log of errors: /home/vikboy/Downloads/cmake-2.8.1/Bootstrap.cmk/cmake_bootstrap.log

c++ linux environment-variables

2
推荐指数
1
解决办法
2万
查看次数

ARM Cortex-A8 流水线是 13 级还是 14 级?

如果您在其中一个 ARM演示文稿中看到了这张流行的 ARM Cortex-A8 流水线图。很明显,取指令阶段需要 3 个周期,但第一个周期有点折扣。但为什么?有什么想法吗?

谢谢...

在此处输入图片说明

arm cortex-a8

2
推荐指数
1
解决办法
3872
查看次数

使用#define定义数组大小

我曾经从一个ADC发送了5秒的数据,这个数据是在125 SPS发送样本,这转换为大小为5*125的数组.在我的代码中,这看起来像:

#define SPS 125
#define TIME 5

char Samples[SPS * TIME];
Run Code Online (Sandbox Code Playgroud)

现在,我想捕获2.5秒的数据并将ADC采样率提高到250 SPS.在代码中它看起来像:

#define SPS 250
#define TIME 2.5

char Samples[SPS * TIME];
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,编译器会抛出一个错误:

#901 expression must have integral or enum type main.cpp line 59 C/C++ Problem
Run Code Online (Sandbox Code Playgroud)

我能够理解它的含义.

但是,克服这种情况的最佳方法是保持SPS和TIME定义的可用性.我的意思是我已经在整个项目的其他几个地方使用它们,我希望继续使用它们.

请帮忙!

c arrays c-preprocessor

1
推荐指数
2
解决办法
1650
查看次数

Tkinter:如何使用箭头键滚动整个画布?

我正在编写一个使用 Tkinter 的 python 应用程序,它的画布用于从调色板绘制图表。图表可能会变得非常大,我目前正在使用鼠标按钮 (ButtonPress-1) 按住并拖动整个画布。

我很难理解如何仅使用箭头键(键盘向上、向下、向左和向右)来实现整个画布的滚动。

帮助!

python tkinter tkinter-canvas

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

在图像处理中,什么是实时的?

在图像处理应用程序中什么是实时的?33 fps是实时的吗?是20 fps实时?如果33和20 fps被认为是实时的,那么1或2 fps也是实时的吗?

任何人都可以投入一些光.

real-time image-processing

0
推荐指数
2
解决办法
1万
查看次数

将结构变量写入文件,问题

嗨,我必须将结构变量的内容写入文件.我有一个工作程序,但输出看起来扭曲,你可以理解当你看输出.代码的简单版本如下,输出如下.

码:

#include<stdio.h>
#include <stdlib.h>

struct mystruct
{
 char xx[20];
 char yy[20];
 int zz;
};

void filewrite(struct mystruct *myvar)
{
   FILE *f;

   f = fopen("trace.bin","wb");
   if (f == NULL)
   {
     printf("\nUnable to create the file");
     exit(0);
   }

   fwrite(myvar, sizeof(struct mystruct), 1, f);
   fclose(f);

}


void main()
{
    struct mystruct myvar = {"Rambo 1", "Rambo 2", 1234};

    filewrite(&myvar);

}
Run Code Online (Sandbox Code Playgroud)

输出:

(1.整数'1234'在哪里?我需要完整.)

(2.为什么会出现一些随机字符?)

trace.bin

Rambo 1Rambo 2Ò
Run Code Online (Sandbox Code Playgroud)

c struct file input

0
推荐指数
1
解决办法
1578
查看次数