标签: compatibility

如何在MSVC中使用MingW编译的库?

我用MingW/MSYS编译了几个库......生成的静态库总是.a文件.当我尝试将库与MSVC项目链接时,Visual Studio会抛出"未解析的外部符号"......这意味着.a静态库与MS C++链接器不兼容.我认为它必须转换为MSVC兼容的.lib文件.

.a和.lib只是.o或.obj文件的AR档案,所以有没有办法在MSVC项目中使用MingW编译的库?或者我是否必须在一个编译器/链接器中编译/链接所有内容 - 仅限MSVC/MingW?据说MingW编译器与MSVC兼容.

我读了一些关于这个主题的线索,但是他们大多说将文件重命名为.lib应该可以完成工作,但遗憾的是它对我不起作用.

我试图链接的库是用C语言编写的.

MSVC Linker抛出的错误如下:

error LNK2019: unresolved external symbol "int __cdecl openssl_call(struct ssl_State *,int,int,int)" (?openssl_call@@YAHPAUssl_State@@HHH@Z) referenced in function _main MyAPP.obj
Run Code Online (Sandbox Code Playgroud)

...还有4个相同的错误,指的是从我的app调用的其他函数.

谢谢你的建议.

c++ compatibility mingw static-libraries visual-c++

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

"兼容包"用于向后移植新的.NET Framework功能?

由于各种原因,我经常发现编写与.NET framework 2.0或3.5兼容或与.NET Compact Framework兼容的代码是可取的,但是新的.NET框架中有许多"小"特性是一个问题.在旧框架或Compact Framework中不可用.

例如,我发现扩展方法确实很有用,但编译器依赖System.Runtime.CompilerServices.ExtensionAttribute于此.您可以自己轻松定义此属性,然后在.NET Framework 2.0中使用扩展方法(在C#3.0+下).同样的,这是不是太硬手动定义小.NET 4种类型,如Tuple<T1,T2>Lazy<T>.顺便说一句,如果你想在.NET 2.0中使用LINQ,你可以使用LinqBridge.

现在假设你ExtensionAttribute公开,以便你编写的其他程序集可以使用它.一开始就没问题,但是如果你想使用也有同样想法的第三方库呢?您添加对该库的引用,现在您有名称冲突.哎呀.

我还注意到一些新的库只适用于.NET 4.0或3.5,即使它们只有很小的依赖关系,可以使用兼容包或LinqBridge来解决.

如果旧的.NET版本的"兼容包"在一个小DLL中定义了这些小功能,你可以证明包括在任何规模的项目中,这肯定会很好.这样的事情存在吗?

更新:从沉默来判断,我想没有这样的事情.如果有兴趣,我可能会自己创建这样一个OSS库.所以我的新问题是,如果你在为.NET 2,.NET 3.5,.NETCF或Silverlight编写,你会想念.NET 4的哪些功能(而不是像WCF/WPF这样的怪物)?我将开始列表......

  • ExtensionAttribute (不是在.NET 2中)
  • Func<...>Action<...>代表(不在.NET 2中)
  • LINQ到对象(不在.NET 2中)
  • Tuple<...> (不是在.NET 3.5中)
  • Lazy<T>Lazy<T,TMetadata>(不是在.NET 3.5中)
  • 表达式树(不在.NET 2中;在.NET 3.5中不完整)
  • 泛型方差(存在于.NET 2中,但无法从C#3和VB 9中访问)
  • Reflection.Emit (缺少.NETCF;不是一个小功能,但我非常想念它)

.net compatibility compact-framework .net-3.5 .net-2.0

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

在IE7兼容模式下区分IE7浏览器和浏览器

在IE7兼容模式下,我可以区分客户端的浏览器是IE7还是IE9?我想知道我是否可以在我的网站上进行JS检查,这会检查两种不同的东西并根据结果做不同的事情

  1. 那个浏览器是IE7
  2. 该浏览器处于IE7兼容模式

我有第一个条件正常工作,因为它几乎说到处都是如何做到这一点.不确定第二个和/或两者的组合.

javascript compatibility internet-explorer browser-detection

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

在Android上构建兼容性PreferenceFragment

我的android应用程序使用兼容性库(Loaders特别是).我需要能够在任何地方使用兼容性组件,包括我的PreferenceActivity.遗憾的是,支持库不包括基于片段的类PreferenceActivity,也不包括PreferenceFragment类.

我想要创建自己的PreferenceFragmentActivity和CompatPreferenceFragment(基本上是谷歌忽略的).其他人,包括StackOverflow上的一些人,已经提到完成这个确切的事情,所以我公开寻求任何形式的帮助 - 指导,提示,建议,代码示例(如果您愿意并且能够分享),或者您认为的任何其他内容与这个问题有关.

如果有人也可以将我引导到人们提交Android功能请求的网站,我想将我的名字添加到希望Google在支持库的未来版本中解决此问题的人员列表中.

compatibility android preferenceactivity android-fragments

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

什么更便携?echo -e还是使用printf?

我目前正在编写一个bash测试框架,它需要尽可能的便携.

所以,在某一点上,我必须打印一个前导换行符,然后是一些包含几个扩展变量的文本.这是我用过的解决方案.

echo -e "\n$number_of_specs ${units}, $number_of_specs_failed failed"
Run Code Online (Sandbox Code Playgroud)

这看起来没问题但是我不确定与使用例如打印出来的线相比是多么便携printf

有什么想法或提示,我可以找到一些参考?

bash compatibility

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

安装.NET 4.5是否真的取代了.NET 4.0程序集?

我现在正式感到困惑.有关安装.NET 4.5框架的MSDN文章说明如下:

".NET Framework 4.5取代了.NET Framework 4.当您在安装了.NET Framework 4的系统上安装.NET Framework 4.5时,会更换程序集."

为什么然后,我在我的文件系统上找到.NET 4.0程序集?当我浏览到"C:\ Program Files(x86)\ Reference Assemblies\Microsoft\Framework.NETFramework"时,我找到了几个文件夹,包括包含DLL的"v3.5","v4.0"和"v4.5"对于每个版本.怎么了?

这告诉我,.NET Framework 4的程序集根本不会替换为4.5.有人可以为我澄清这个吗?

.net compatibility .net-4.0 .net-4.5

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

CreateTextRange无法在Chrome中使用

在此代码中,createRange无法在Chrome中使用.在IE中,它正在运行.请帮忙解决这个问题.是否有任何其他属性可以像创建范围一样工作.这样对我的项目很有帮助.

<script language=javascript>

    var isSelected;
    function markSelection ( txtObj ) {
      if ( txtObj.createTextRange ) {
        txtObj.caretPos = document.selection.createRange().duplicate();
        isSelected = true;
      }
    }

    function insertTag ( txtName, enclose ) {
        if(document.f_activity_email == null) {
            var tag = document.getElementById('EmailTokenID').value;
        }
        else {
            var formC = document.f_activity_email;
            var tag = formC.EmailTokenID.value;
        }
        var closeTag = tag;
        if ( enclose ) {
            var attribSplit = tag.indexOf ( ' ' );
            if ( tag.indexOf ( ' ' ) > -1 ) …
Run Code Online (Sandbox Code Playgroud)

javascript compatibility google-chrome

14
推荐指数
3
解决办法
3万
查看次数

python 2.7 vs python 3.1

一些python 3的功能和模块已被反向移植到python 2.7 python 3.1和python 2.7之间的显着差异是什么?

python compatibility versions

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

SQL Server兼容性级别的含义

一个快速的信息问题:

在我的SQL Server 2008上,我从SQL Server 2005迁移了数据库,并且SQL Server 2008上的数据库的兼容级别设置为90(SQL Server 2005).

具体含义到底是什么?

这意味着迁移的存储过程,触发器和函数在SQL Server 2008上运行良好,但是有任何缺点吗?

将兼容性级别设置为100(SQL Server 2008)的原因是什么?

性能?额外功能?

感谢名单

compatibility sql-server-2005 sql-server-2008

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

python 2和3从url中提取域

我有一个网址: http://xxx.abcdef.com/fdfdf/

我想得到 xxx.abcdef.com

我可以使用哪个模块来完成此任务?

我想在python2和python3上使用相同的模块和方法

我不喜欢尝试除了python2/3兼容性的方式

非常感谢!

python compatibility parsing python-2.x python-3.x

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