lib

使用动态链接为什么还需要静态库lib文件

怎甘沉沦 提交于 2019-12-05 00:38:56
在Windows上使用动态链接时,不光需要 头文件 .dll 文件 还需要一个 .lib 文件。 不是动态链接吗?为什么还需要静态库 .lib 文件? 实际上,这个 .lib 文件并不是静态库,而是 导入库 文件,只是使用和静态库相同的扩展名而已。 静态库本身就包含了实际执行代码、符号表等等,所以只要头文件就可以了。 而动态链接而言,其实际的执行代码位于动态库中,需要 导入库 提供地址符号表等信息,确保程序找到对应函数的一些基本地址信息。 可以看到两个 .lib 文件大小差距很大。 参考: VS2013生成、使用dll,lib文件 来源: https://www.cnblogs.com/xiyu714/p/11891955.html

apue-ubuntu环境搭建

你离开我真会死。 提交于 2019-12-05 00:35:55
目录 apue环境搭建 title: apue环境搭建 date: 2019/11/19 19:25:18 toc: true --- apue环境搭建 下载编译 wget http://www.apuebook.com/src.3e.tar.gz tar -zxvf src.3e.tar.gz cd apue.3e/ sudo apt-get install libbsd-dev make 问题解决 1. undefined reference to `major' man 一下添加头文件 #include <sys/sysmacros.h> 2. “struct 'FILE' has no member named'__pad'” error when using 这个查了一下是代码不兼容,先注释掉这个文件夹 > https://stackoverflow.com/questions/55770771/how-to-fix-struct-file-has-no-member-named-pad-error-when-using-make-in DIRS = lib intro sockets advio daemons datafiles db environ \ fileio filedir ipc1 ipc2 proc pty relation signals

UnicodeDecodeError: 'gbk' codec can't decode byte 0xab in position 2411: illegal multibyte sequence错误解决方案

点点圈 提交于 2019-12-04 23:35:09
|、第一步放bug Traceback (most recent call last): File "c:\programdata\anaconda3\envs\sql\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "c:\programdata\anaconda3\envs\sql\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\ProgramData\Anaconda3\envs\sql\Scripts\pipreqs.exe\__main__.py", line 9, in <module> File "c:\programdata\anaconda3\envs\sql\lib\site-packages\pipreqs\pipreqs.py", line 470, in main init(args) File "c:\programdata\anaconda3\envs\sql\lib\site-packages\pipreqs\pipreqs.py", line 409, in init follow_links=follow_links) File "c:

CodeBlocks_OpenGL配置

徘徊边缘 提交于 2019-12-04 21:56:30
CodeBlocks版本:13.12 下载OpenGL配置文件 1、glut.dll glut32.dll放入系统盘Windows\System32文件夹 2、glut.h放入CodeBlocks安装目录下的MinGW\include\GL文件夹下 3、glut.lib glut32.lib放入MinGW\lib文件夹下。 新建OpenGL项目 1、新建GLUT project。 2、输入项目名称。 3、Please select GLUT's location-->设置为CodeBlocks安装目录下的 MinGW 文件夹 4、Finish。 5、菜单:Project—>Build options...—>Linker settings—>Add,选择D:\Program Files (x86)\CodeBlocks\MinGW\lib\glut32.lib;点击Ok。 6、CodeBlocks会自生成一个main.cpp文件,里面包含一些OpenGL示例代码,在代码的最开始处(约14行的位置),添加 #include<windows.h> 7、编译运行即可,效果如下: 如上转自: https://www.cnblogs.com/tangxin-blog/p/4081819.html 来源: https://www.cnblogs.com/LieYanAnYing/p

eZdsp5502使用教程(一) 新建工程

馋奶兔 提交于 2019-12-04 21:53:07
eZdsp5502使用教程(一) 新建工程 一、准备工作 上板子照片: 所需环境: IDE: Code Composer Studio 9.2 BSL(板级支持库):下载地址 http://support.spectrumdigital.com/boards/ezdsp5502/revc/ BSL解压到某个目录,之后此目录均用ezdsp5502_bsl代替. 二、新建工程 板子连接电脑后,打开CCS,选择FIle->New->CCS Project. 如下图所示,选择target和connect,并设置项目名.如果选择完target提示没有相关编译器,需按照指示在ccs的explorer里下载C5500的complier,这里安装完后可看到compiler version为4.4.1. 新建完工程可以看到默认main.c的内容: 这时点击view->target configuration,选择如图,后点击save,再test connection.如果最后提示successful,则表明板子连接PC成功. 到bsl里复制一个.cmd到你的工程目录下,这里将ezdsp5502_bsl/tests/led复制过来了. 具体.cmd文件是何作用,这里简单理解为是为你写的程序分配内存(目前理解不一定对,在后续教程里再详细讨论). 然后右键项目->properties->general

【GitHub】本地代码上传

£可爱£侵袭症+ 提交于 2019-12-04 21:29:24
本地代码上传GitHub 2019-11-18 20:03:45 by冲冲 1、注册GitHub https://github.com/ 2、安装Git工具 https://git-for-windows.github.io/ 步骤可以参考 https://www.runoob.com/git/git-install-setup.html 3、进入GitHub首页 点击 New 新建一个项目 4、填写相应信息 然后点击 create repository Repository name: 仓库名称 Description(可选): 仓库描述介绍 Public, Private : 仓库权限(公开共享,私有或指定合作者) Initialize this repository with a README: 添加一个README.md gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore license: 证书类型,对应生成文件LICENSE 5、点击Clone or dowload copy该地址(例如https://github.com/yecylolo/lib.git)备用 6、前往你心仪的放置Git仓库的目录 比如我在E盘专门新建一个ToGitHub的文件夹,用于放置各个Git仓库。 在该文件夹右击,选择 Git Bash Here。 输入 git

解决strings: '/lib/libc.so.6': No such file

余生长醉 提交于 2019-12-04 21:12:09
[root@uranuspreapp30 opt]# strings /lib64/libc.so.6 | grep GLIBC |tail -n 8 strings: '/lib64/libc.so.6': No such file [root@uranuspreapp30 opt]# 首先想到的是不是系统安装的时候没有装libc,于是执行 [root@localhost ~]# rpm -qa | grep libc 执行结果: libcurl-7.19.7-26.el6_2.4.x86_64 libcap-2.16-5.5.el6.x86_64 libcgroup-0.37-4.el6.x86_64 glibc-2.12-1.166.el6_7.7.i686 libcom_err-devel-1.41.12-12.el6.x86_64 libcroco-0.6.2-5.el6.x86_64 libcap-ng-0.6.4-3.el6_0.1.x86_64 libcanberra-0.22-1.el6.x86_64 glibc-common-2.12-1.166.el6_7.7.x86_64 glibc-devel-2.12-1.166.el6_7.7.x86_64 libcurl-devel-7.19.7-26.el6_2.4.x86_64 libcom_err-1.41

QT工程编译

元气小坏坏 提交于 2019-12-04 20:10:22
电脑中装了多个QT版本时,在我的电脑里,有QT 5.3.2 配合VS2013,有QT5.11.2配合VS2019。 导入别人编写的QT工程时,注意要在QT VS TOOL里选择好对应的编译器版本。 在Qt Project Settings里保证 vs的头文件包含里注意。我电脑5.3.2版本QT装在E盘根目录 E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtCore;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtGui;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtWidgets;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtXml;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtNetwork;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtMultimedia;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include;E:\Qt\Qt5.3.2\5.3\msvc2013_64\include\QtSql; 这里很重要的一步是,把E:\Qt\Qt5.3.2\5.3\msvc2013_64\include包含进来 链接阶段 General选项下的子选项

Visual Studio 配置 fftw 库

╄→尐↘猪︶ㄣ 提交于 2019-12-04 20:03:23
  前提条件:     1.vs 2010 +(我的是2019);     2.下载 fftw 。   先将vs 的 msvc 编译器的位置添加到path,一般在下面这个目录下: Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\bin\   我为了用 cl 编译程序,之前已经用过,所以没有问题。   接下来,到解压出来的 fftw 文件目录下,打开命令行 run: lib /machine:x64 /def:libfftw3-3.def lib /machine:x64 /def:libfftw3f-3.def lib /machine:x64 /def:libfftw3l-3.def   这样就可以生成 .lib 文件以及 .exp 文件。   然后就再在项目里面添加上需要的 .lib,然后编译并运行自己的项目,会发现找不到 .dll,显然,我们知道 .dll 必须和 .exe 放在一个目录下才可以加载成功,所以再把 fftw 目录下的 libfftw3*-3.dll 复制到项目 .exe 文件所在目录下即可,然后编译运行:          来源: https://www.cnblogs.com/darkchii/p/11880843.html

ARM-Linux-gcc4.3.2交叉编译错误问题

隐身守侯 提交于 2019-12-04 17:48:58
本博文针对arm-linux-gcc4.3.2版本的交叉编译工具出现的常见错误,进行了整理,总结。 开发环境: ARM9 (JZ2440开发板) 开放平台: Ubuntu14.04 交叉编译工具: arm-linux-gcc4.3.2 一. 解决 uboot1.1.6在arm-linux-gcc-4.3.2版本下编译错误问题 编译错误如下图: 解决方案: 1.修改Makefile文件中的PLATFORM_LIBS 将 PLATFORM_LIBS += -L $(shell dirname ( C C ) //--> (CFLAGS) -print-libgcc-file-name ) -lgcc 修改成: PLATFORM_LIBS += -L $(shell dirname ( C C ) //--> (CFLAGS) -print-libgcc-file-name ) -lgcc -lc -L /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib 2.修改 cpu /arm920t/config.mk 文件 将: PLATFORM_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) PLATFORM_RELFLAGS +=$(call cc